2013-01-18 2 views
8

Ho un modulo con un campo password. La password deve contenere almeno 8 caratteri.jquery validate minlength rule non funziona

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

Si applica la regola "richiesta", ma ignora semplicemente la regola "minlength".

Cosa sto sbagliando? Sto usando lo stesso codice (la parte JS) su altre pagine e funziona come previsto.

+0

cosa si ottiene qualche errore js? – Chris

risposta

10

Convalida ricerca name del campo di input, non id. Dalla documentazione per l'opzione rules:

Coppie chiave/valore che definiscono regole personalizzate. Key è il nome di un elemento (o un gruppo di caselle di controllo pulsanti/radio)

Con questo in mente, si dovrebbe usare qualcosa di simile a questo:

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

Per l'inserimento dei nomi con caratteri speciali, essere sicuro di citare la chiave dell'oggetto.

Esempio:http://jsfiddle.net/kqczf/4/