el-form-item自定义校验规则失效---踩坑记录

如下使用自定义校验的模板

<el-form :model="myForm" status-icon :rules="myrules" label-width="100px" class="demo-ruleForm">
  <el-form-item label="密码" prop="pass">
    <el-input type="password" v-model="ruleForm.pass" autocomplete="off">el-input>
  el-form-item>
el-form>

<script>
  export default {
      
    data() {
      
      
      var validatePass = (rule, value, callback) => {
      
        if (value === '') {
      
          callback(new Error('请输入密码'));
        } else {
      
          if (this.ruleForm.checkPass !== '') {
      
            this.$refs.ruleForm.validateField('checkPass');
          }
          callback();
        }
      };
      
      return {
      
        myForm: {
      
          pass: '',
        },
        myrules: {
      
          pass: [
            {
       required:true,validator: validatePass, trigger: 'blur' }
          ],
        }
      };
    },
    
  }
script>

第一点
是数据绑定:model="myForm" :rules="myrules",绑定表单数据
第二点
el-form-item 中 prop="pass"这里的prop要和myFormmyrules中的属性名保持一致。(这个是遇到的坑),如果没有一致,自定义的校验方法中传不了值给value,这样自然value每次都是undefine

你可能感兴趣的:(#,Vue学习笔记)