2013-01-18 9 views
8

Mam formularz z polem hasła. Hasło musi mieć co najmniej 8 znaków.Reguła jquery validate minlength nie działa

<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 
      } 
     } 
    }); 

Stosuje regułę "wymaganą", ale po prostu ignoruje regułę "minlength".

Co robię źle? Używam tego samego kodu (części JS) na innych stronach i działa zgodnie z oczekiwaniami.

+0

nie masz żadnego błędu js? – Chris

Odpowiedz

10

Sprawdź poprawność pola name pola wejściowego, a nie id. Z dokumentacji opcji rules:

Pary klucz/wartość definiujące reguły niestandardowe. Klucz to nazwa elementu (lub grupa wyboru/przyciski radiowe)

Mając to na uwadze, należy użyć coś takiego:

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

dla nazw wejściowych ze znaków specjalnych, być z pewnością zacytować klucz obiektu.

Przykład:http://jsfiddle.net/kqczf/4/