问题描述
在用vue和element做form验证的时候,el.validate(valid) 一直不执行里面的代码,打印出来的时候一直是pending的状态。
一直没找出原因,后来发现还是因为自定义的验证方法里面漏写的callback()
const validateHost = (rule, value, callback) => {
if (!value) {
return callback(new Error("请输入"));
}
};
正确写法
const validateHost = (rule, value, callback) => {
if (!value) {
return callback(new Error("请输入"));
}
return callback()
};
解决方案:
-
检查自定义的验证方法, 确保所有出口都有callback()
-
检查el-form-item上是否都写了 prop