2013-01-18 69 views
8

我有一個帶密碼字段的表單。密碼必須至少8個字符。jquery驗證最小長度規則不起作用

<form action="/account/register" method="post" id="form-register"> 
<div class="input-row"> 
    <input name="data[User][password]" type="password" id="FUserPassword" class="required" placeholder="Password"> 
</div> 

</form> 

$("#form-register").validate({ 
     rules: { 
      FUserPassword : { 
       minlength: 8 
      } 
     } 
    }); 

它應用了「required」規則,但它只是忽略了「minlength」規則。

我在做什麼錯?我在其他頁面上使用相同的代碼(JS部分),並按預期工作。

+0

你得到任何JS錯誤? – Chris

回答

10

驗證查找輸入字段的name,而不是id。從rules選項的文檔:

定義自定義規則的鍵/值對。主要是元素的名稱(或一組複選框/單選按鈕)

考慮到這一點,你應該使用這樣的事情:

$("#form-register").validate({ 
    rules: { 
     'data[User][password]': { 
      minlength: 8 
     } 
    } 
}); 

對於有特殊字符的輸入名字,是一定要引用對象鍵。

例子:http://jsfiddle.net/kqczf/4/