Element------validate表单验证代码示例与校验规则

74 篇文章 3 订阅

校验规则参见: async-validator
表单有一个validate()发法,是一个异步验证器,可以进行用户数据的验证,所采用的规则就是rules规则。它有一个参数,是回调函数,当验证结束的时候,会调用这个回调函数并给函数传入一个验证结果,如果为True,说明验证通过,否则验证失败。若不传入回调函数,则返回一个promise
语法:Function(callback:Function(boolean,object))

一、代码示例

.<template>
  <div class="index">
    <!-- :model:收集表单数据对象,里面的每一个表单分别绑定这个对象中的某个属性 -->
    <!-- :rules:校验规则,是一个对象,里面的每组键值对就是一条规则,一条规则就是一个数据属性的规则 -->
    <!-- ref:当前表单的标识 -->
    <el-form :model="user" :rules="rules" ref="ruleForm" class="demo-ruleForm">
      <!-- prop:设置当前表单元素所需要使用的验证规则,属性的值一般和验证规则一样 -->
      <el-form-item prop="username">
        <el-input
          v-model="user.username"
          placeholder="请输入用户名称"
          prefix-icon="el-icon-user"
        ></el-input>
      </el-form-item>
      <!-- 点击按钮触发事件 -->
      <el-button type="primary" round class="login-btn" @click="userlogin"
        >按钮</el-button
      >
    </el-form>
  </div>
</template>

<script>
export default {
  data() {
    return {
      user: {
        username: "",
      },
      // 定义校验规则,required:必须输入字段,message:没有值时调用的信息trigger:触发器
      rules: {
        username: [
          { required: true, message: "请输入用户名称", trigger: "blur" },
          {
            pattern: /^1\d{4}$|^1d{10}$/,
            message: "请输入合法的手机号",
            trigger: "blur",
          },
        ],
      },
    };
  },
  // 点击时验证结果,结果为布尔值
  methods: {
    userlogin() {
      this.$refs.ruleForm.validate((valid) => {
        if (valid) {
          console.log("可以登录");
        } else {
          console.log("用户输入不合法");
        }
      });
    },
  },
};
</script>

<style>
</style>

二、默认校验规则

类型

指示要使用的验证器。识别的类型值包括:type
number: 必须是数字
boolean: 必须是布尔值
method: 必须是方法
regexp:必须是正则
integer:必须是整数
float:必须是浮点或小数
array: 必须是数组
object:必须是对象
date: 必须是日期
url: 必须是url
hex: 必须是十六进制
email: 必须是email
any: 可以是任何类型。

必填

required:规则属性指示要验证的源对象上必须存在字段

模式

pattern:规则属性指示值必须匹配的正则表达式才能通过验证

范围

min:最小
max:最大

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值