在表单验证当中,this.$refs.form.validate方法不执行
原因是:以下代码中的校验规则中的callback回调函数没有保证一定会执行,应添加else,并调用callback!
错误写法:
data() {
// 定义邮箱的验证规则
var validEmail = (rule, value, callback) => {
var reg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;
if (!reg.test(value)) {
callback(new Error("请输入正确的邮箱地址!"));
} // 错误写法
};
正确写法:
data() {
// 定义邮箱的验证规则
var validEmail = (rule, value, callback) => {
var reg = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/;
if (!reg.test(value)) {
callback(new Error("请输入正确的邮箱地址!"));
} else {
callback()
}
};