表单校验validate、validateField通过时不执行相关代码问题,只有校验不通过才执行
1.问题分析
问题的原因可能是【自定义校验没有对成功进行callback()
】,如下:
2.解决方法
解决方法就是【对与通过校验的情况,执行一个callback()】,如下:
var confirmPwd = (rule, value, callback) => {
if (value !== this.ruleForm.password) {
callback(new Error("两次输入的密码不一致"));
} else {
callback();
}
};
var confirmPhone = (rule, value, callback) => {
if (!/^1[3456789]\d{9}$/.test(value)) {
callback(new Error("手机号不合法"));
} else {
callback();
}
};