Element表单验证规则

Posted lguow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Element表单验证规则相关的知识,希望对你有一定的参考价值。

一、简单的逻辑验证使用方法:

方法步骤:

1、在html中给el-form增加 :rules="rules"

2、html中在el-form-item 中增加属性 prop="名称"

3、js中直接在data中定义rules:{}

在html中的写法:

<el-form ref="formData" :rules="rules" :model="formData" label-width="500px">
     <el-form-item label="用户名:" prop="userName">
          <el-input class="inp" v-model="form.userName" auto-complete="on"></el-input>
          <el-button type="primary" class="btn-add" @click="onSubmit(‘formData‘)">提交</el-button>
      </el-form-item>
</el-form>

js中:

<script>
export default {
  data() {
    return {
      formData: {
        userName: ‘‘,
      },
      // 校验规则
      rules: {
        userName: [
        { 
          required: true, //是否必填
          message: 用户名不能为空, //规则提示
          trigger: blur  //何事件触发
        },
        //可以设置多重验证标准
        { 
           min: 3, 
           max: 5,  
           message: 长度在 3 到 5 个字符
         },
        {
            pattern: /^[u4E00-u9FA5]+$/,  //正则
            message: 用户名只能为中文
         }
         ]
      }
    }
  }
}
</script>

二、自定义验证逻辑:

步骤:

1、在js中找到data中的rules,然后在对应的名称中设置 validator: 验证器名称;

2、在js的data中的return之上书写验证器对应的js验证逻辑,如:

<script>
export default {
  data() {
    // 此处自定义校验手机号码js逻辑
    var userNameReg = /^[u4E00-u9FA5]+$/
    var validateuserName = (rule, value, callback) => {
      if (!value) {
        return callback(new Error(用户名不能为空!!))
      }
      setTimeout(() => {
        if (!userNameReg.test(value)) {
          callback(new Error(用户名只能为中文))
        } else {
          callback()
        }
      }, 1000)
    }
    return {
      formData: {    
        userName: ‘‘,
      },
      // 校验规则
      rules: {
        // 校验用户名,主要通过validator来指定验证器名称
        userName: [{ required: true, trigger: blur, validator: validateuserName}]
      },
    }
  }
}
</script>

三、表单提交

methods: {
   onSubmit(formName) {
     this.$refs[formName].validate(valid => {
        if (valid) {
             //如果通过验证 to do...
        } else {
          console.log(‘error submit!!‘)
          return false
        }
    })
 }

以上是关于Element表单验证规则的主要内容,如果未能解决你的问题,请参考以下文章

vue + element 实现登录注册(自定义表单验证规则)

element ui form表单清空规则

element-ui 表单组件的prop属性

element ui 表单校验规则

Element-ui 自定义表单验证规则

Element-ui 自定义表单验证规则