element-ui表单校验
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
alert('submit!');
} else {
console.log('error submit!!');
return false;
}
});
},
问题:输入框内都填上数据后不走校验内部,
原因:因为在写校验时,只写了错误时的callback没写正确是的callback所以导致填写正确时不走成功的校验,
解决方法:写上正确时也callback
phoneChecking: (rule, value, callback) => {
if (!this.languagevalue) {
let tel = /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
if (!tel.test(value)) {
return callback(new Error('请正确填写正确格式的手机号码!'));
} else {
return callback()
}
} else {
let mail = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
if (!mail.test(value)) {
return callback(new Error(' Please fill in the correct format email correctly!'));
}else {
return callback()
}
}
},
// 确认密码验证
confirmPassword: (rule, value, callback) => {
if (value !== this.registerForm.code) {
return callback(new Error('The two passwords entered do not match!'));
}
if (value === '') {
return callback(new Error('请再次输入密码'));
}
return callback()
},