首先定義 rules
phoneNum: [ { required: true, validator: validatorPhone, trigger: 'blur'} ]
定義驗證函數
var validatorPhone = function (rule, value, callback) { if (value === '') { callback(new Error('手機號不能為空')) } else if (!/^1\d{10}$/.test(value)) { callback(new Error('手機號格式錯誤')) } else { // 如果手機號不為空並且通過格式驗證, 進行 ajax 請求 verifyPhoneNumber(value, function (data) { callback(data.state ? data.text : new Error(data.text)) }) } }
定義ajax
請求驗證手機號
// 給一個回調函數即可 var verifyPhoneNumber = function (value, callback) { $.post('http://ticklink.cn/mc/member/officalregister/verifyPhoneNumber.do', {phoneNum: value}).done(function (res) { if (res.retcode === 200) { callback({ state: true, text: `可以登錄` }) } else { callback({ state: false, text: res.retmsg }) } }) }