自定義校驗可以大致分為三種:
1.確認密碼
在輸入確認密碼的時候,需要判斷當前輸入的密碼與上面的密碼是否一樣,若是為空,則提示:請再次輸入密碼;若是與上次輸入的不一致,則提示:兩次輸入密碼不一致;否則,不顯示提示信息,即輸入正確。
password2: [
{ required: true, validator: validatePass2, trigger: 'blur' }
]
var validatePass2 = (rule, value, callback) => {
if (value === '') {
callback(new Error('請再次輸入密碼'));
} else if (value !== this.form.password1) {
callback(new Error('兩次輸入密碼不一致!'));
} else {
callback();
}
};
2.需要請求接口判斷是否輸入數據已存在

判斷用戶名是否已存在,需要請求接口,通過后端查詢數據庫,根據返回的狀態值來決定數據庫中是否存在該用戶名,從而確定提示信息。
userName: [
{ required: true, validator: validateName, trigger: 'blur' },
],
var validateName = (rule, value, callback) => {
let params = {
loginName: value,
};
params = this.$qs.stringify(params,{ indices: false });
this.axios({
method:'post',
url:window.API_HOST+'/login/checkName',
data:params
}).then((res)=>{
this.userNameData = res.data.status;
if (value == '') {
callback(new Error('請輸入用戶名'));
} else if (this.userNameData == '500') {
callback(new Error('用戶名已存在'));
} else {
callback();
}
})
};
3.通過正則表達式對輸入的內容進行校驗,自定義規則

可以自定義校驗規則,如: 格式“BIL1100”,規則:前三位是字母,后四位是數字。
注意:
上面三種校驗,中心思想都是通過對表單中輸入的內容進行某種校驗,最后提示信息。
關於正則表達式進行自定義的校驗,還有好幾種規則,在我下篇博客中詳寫。https://www.cnblogs.com/5201314m/p/11354268.html
