Element UI 自定义正则表达式验证

3,147 阅读1分钟
//指定数据中心的验证表单ruleForm,验证规则rules
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">

        <el-form-item label="名称:" :label-width="formLabelWidth" prop='sName'>
          <el-input class="w9000" v-model="ruleForm.sName"></el-input>
        </el-form-item>

</el-form>
//add('ruleForm')方法要传验证表单名
<el-button type="primary" @click="add('ruleForm')">确 定</el-button>
 data () {
    //------------------必须以英文与汉字开头的正则------------------//
    let sNameRule1 = (rule, value, callback) => {
      let regExp = /^[\u4e00-\u9fa5a-zA-Z][\u4e00-\u9fa5a-zA-Z\d]+$/;
      if (regExp.test(value) === false) {
           callback(new Error('必须以英文字母或汉字开头'));
        } else {
          callback();
      }
    };

    return {
      ruleForm: {
          sName: ''
      },
      rules: {
          sName: [
            { required: true, message: '请输入名称', trigger: 'blur' },
            { min: 5, max: 10, message: '长度在 5 到 10 个字符', trigger: 'blur' },
            { validator: sNameRule1, trigger: 'blur' }
          ]
      }

    };
  },
methods:{
 add(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
         //通过验证执行
        } else {
         //验证失败执行
          console.log('error submit!!');
          return false;
        }
      });
    }
}