标签 elementui 下的文章

submitForm(formName) {
    this.$refs[formName].validate((valid) => {
      if (valid) {  // 无法获取到true
        alert('submit!');
      } else {
        console.log('error submit!!');
        return false;
      }
    });
  },

官网描述: 自定义校验 callback 必须被调用
自定义验证的时候如果不加上callback()会导致没有函数返回,无论是在if上还是其他判断条件都必须完整的有callback()
bad example:

var checkPWd = (rule, value, callback) => {
  var reg = /^[a-zA-Z0-9_-]+$/
  if (!reg.test(value)) {
    callback(new Error('XXXXXXXXXXXXXXXXXXXXX'))
  } 
};  // valid无法获取到true,false能正常获取

good example:

var checkPWd = (rule, value, callback) => {
  var reg = /^[a-zA-Z0-9_-]+$/
  if (!reg.test(value)) {
    callback(new Error('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'))
  } else {
    callback() // 必须要callback , 否则 提交验证不执行
  }
};  // 可以正常使用验证并通过