星期五, 9月 23, 2011

[jQuery plugin] jQuery Validator addMethod always return false

今天在做驗證帳號是否已存在的時遇到的問題。 當觸發驗證規則時,由於是非同步的呼叫,會造成Validator總是會回傳驗證失敗。 只要將jQuery 預設的ajax方法,多帶入async:false即可。


$.validator.addMethod( "conflictaccount" , function(value,element){ console.log("account:" + value); var isValidate = true; $.checkUserAccount( { async:false,//avoid value of return is false endpoint : HOSTNAME, ticket : TICKET, uid: value, callback:function(data){ if(data.verify){ //confilct account // console.log("confilct"); isValidate = false; }else{ // console.log("Not Conflict"); isValidate = true; } } }); // console.log("isValidate:" + isValidate); return isValidate; });

 註:$.checkUserAccount裡面是call $ajax的方法。

沒有留言:

張貼留言

留個話吧:)