2011-08-06 47 views
0

我已創建自定義驗證規則(uniqueUserName)。我遇到的問題是,即使從自定義驗證方法返回true,也會爲自定義規則顯示錯誤消息。JQuery自定義閥值,即使爲真時也會顯示錯誤消息

我試圖驗證的表單動態加載並添加到div。

這裏是我添加方法和定義驗證規則的地方。頁面加載後的addValMethod的調用,但attacheValidation前:

function addValMeth(){ 
       $.validator.addMethod("uniqueUserName", function(value, element) { 

        $.get("databasescripts/validate_username.php", {username: value}, function(data2){ 

          alert("Validate-> " + data2); 
          if(data2 == "1"){ 
           alert("Validate 2"); 
           return true;     

          }else if(data2 == "0"){ 
           alert("Validate 3"); 
           return false; 

          } 
         }); 
       }); 
    }; 

function attacheValidation($form){ 
      $($form).validate({ 
        rules: { 
         firstname: "required",// simple rule, converted to {required:true} 
         surname: "required", 
         address: "required", 
         zipcode: "required", 
         city: "required", 
         email: { 
          required: true, 
          email: true 
         }, 
         username: { 
          uniqueUserName: true, 
          required: true 

         } 
        }, 
         messages: { 
           firstname: "Förnamn saknas" , 
           surname: "Efternamn saknas", 
           address: "Adress saknas", 
           zipcode: "Postkod saknas", 
           city: "Ort saknas", 
           companyname: "Företagsnamn saknas", 
           email: "Korrekt emailadress saknas", 
           username: { 
            uniqueUserName: "Användarnamnet är upptaget", 
            required: "Användarnamn saknas" 

          } 
          } 
          }); 
        }; 

警報證明在自定義驗證的邏輯的作品,因爲它應該。所有其他驗證規則正常工作。

我不知道它是否可能是相關的,但每次返回true結果時,自定義驗證方法都會被請求兩次。如果爲false,則僅向該方法發出一次請求。

這是我想要應用自定義驗證方法的用戶名字段。

回答

0

必須要做的是返回「true」並返回「false」。它期望一個字符串不是布爾值。

相關問題