Der Code lautet wie folgt:
**validateCode:[{validator:(rule, value, callback)=>{ if (!value) { callback(new Error('you have to input code')) } else if(this.radioValue=="mobile"){ validatingCo(this.user.mobile,value).then((res)=>{ if(!res.code==20000){ return callback(new Error('the code is wrong or expired')) } else{ callback() } }) } else{ validatingCo(this.user.email,value).then((res)=>{ if(!res.code==20000){ return callback(new Error('the code is wrong or expired')) } else{ callback() } }) } }, trigger:'blur'}]
Leider wird es nicht ausgeführt und es liegen keine Fehler vor. Ich m?chte wissen, wie ich damit umgehen soll.
我認(rèn)為問(wèn)題可能是由這一行引起的:
if(!res.code==20000){ // Some stuff here }
它可能應(yīng)該是:
if(res.code!=20000){ // Some stuff here }
!res.code
將始終評(píng)估為 true
或 false
。所以 !res.code==20000
將始終為 false。無(wú)論輸入什么,以下錯(cuò)誤回調(diào)都不會(huì)執(zhí)行:
return callback(new Error('the code is wrong or expired'))
這里有一個(gè)小演示,展示“bar”總是會(huì)被打印出來(lái)
function simple_if(number) {
if (!number == 20000) {
return "foo"
} else {
return "bar"
}
}
console.log(`res=20000. Expect 'bar': ${simple_if(2000)}`)
console.log(`res=3. Expect 'foo': ${simple_if(3)}`)
console.log(`res=0. Expect 'foo': ${simple_if(0)}`)