2011-06-04 76 views
3

我試圖與bassistance jQuery validator plugin一起工作沒有成功。如何設置jQuery驗證器插件

我不知道如何設置用於驗證的特定輸入:

<script> 
$(document).ready(function(){ 
    $("#form-id").validate({ 
     username_id: { required:true }, 
     password_id: { required:true, minlength:8 }, 
     confirm_id: { required:true, minlength:8, equalTo:"#password_id" } 
    }, 
    messages: { 
     username_id: "Missing username", 
     password_id: { 
      required: "Missing password", 
      minlength: "Password short (5 chars min required)" 
     }, 
     confirm_id: { 
      required: "Missing password", 
      minlength: "Password short (5 chars min required)", 
      equalTo: "Password mismatch" 
     } 
    }); 
}); 
</script>  
<form id="form-id" etc> 
    <input id="username_id" name="data[User][username]"><br> 
    <input id="password_id" name="data[User][password]"><br> 
    <input id="confirm_id" name="data[User][confirm]"><br> 
    <input type="submit" value="Register"> 
</form> 

這個驗證寫百達在輸入我測試class='valid'? 我確定問題出在對象名稱中,因爲我不明白我是否應該設置idname attribute以使插件正常工作。

我發現的每個教程總是使用id和name屬性的相同名稱,所以我無法理解我錯在哪裏。

我也有問題,我的名字屬性來自cakephp,所以我的input form name attribute就像data[User][username],我不知道如何將它與插件一起使用。

我該如何解決? PS:我使用jQuery 1.6.1,我看到的例子使用1.3.2,但螢火蟲不會返回任何錯誤。

回答

2

您必須使用name屬性,因爲他們有括號,你需要引用這樣的名字:

$("#form-id").validate({ 
    'data[User][username]': { required:true }, 
    //same for your other fields 
}, 
messages: { 
    'data[User][username]': "Missing username", 
});