2010-11-03 28 views
27

Sto utilizzando jquery per la convalida del modulo. Il resto va bene, tranne il campo per la conferma della password. Anche quando viene digitata la stessa password, lo Inserisci la stessa password. non è stato rimosso.jquery conferma la convalida della password

Il mio script è:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#form1").validate({ 
     rules: { 
      password: { 
       required: true, minlength: 5 
      }, 
      c_password: { 
       required: true, equalTo: "#password", minlength: 5 
      }, 
     email: { 
      required: true, email: true 
      }, 
     phone: { 
      required: true, number: true, minlength: 7 
      }, 
     url: { 
      url: true 
     }, 
     description: { 
      required: true 
     }, 
     gender: { 
      required: true 
      } 
     }, 
     messages: { 
     description: "Please enter a short description.", 
     gender: "Please select your gender." 

     } 
     }); 
    }); 
    --> 
    </script> 

E all'interno del tag form:

<div class="form-row"><span class="label">Password</span><input type="password" name="password" class="required" id="password" /></div> 

<div class="form-row"><span class="label">Confirm Password</span><input type="password" name="c_password" id="c_password" /></div> 

Qualsiasi suggerimento? Sarebbe molto grato per l'aiuto.

risposta

18

I suoi campi non ha la proprietà ID. In jQuery il selettore "#Password" significa "l'oggetto che ha una proprietà con un valore id'password'"

Il codice dovrebbe essere simile a questa:

<input type="password" name="password" id="password" class="required"/> 
2

Assicurarsi che il testo di input della password ha id 'password'

+0

allora abbiamo bisogno di un po 'di codice per la figura fuori che cosa sta andando male – Dalen

+0

ho aggiunto il codice, per favore controlla. –

1

essere sicuri che nessun altro ingresso con tag id='password' in quella stessa pagina.

2
rules: { 

non chiuso. In altre } dopo:

messages: { 
    description: "Please enter a short description.", 
    gender: "Please select yor gender." 
} 

Questo è così come la risposta circa le identità degli elementi di.

1

Ho riscontrato alcuni problemi durante l'utilizzo degli ID camelCase per gli input della password. Finalmente ho funzionato con diversi 'nome' e 'id'.

<input type="password" id="pass" placeholder="New password" name="newPassword"> 
<input type="password" id="pass2" placeholder="New password" name="repeatNewPassword"> 
<input type="email" id="inputNewEmail" name="newEmail" placeholder="New email"> 
<input type="email" id="repeatNewEmail" name="repeatNewEmail" placeholder="New email> 

Poi nella JS:

rules: { 
      newPassword: { 
       minlength: 6 
      }, 
      repeatNewPassword: { 
       minlength: 6, 
       equalTo: "#pass" 
      }, 
      newEmail: { email: true}, 
      repeatNewEmail: {email: true, equalTo: '#inputNewEmail'}, 
} 

Quindi fare riferimento al campo di immissione con il suo 'nome', ma definire equalTo deppendency usando 'id'. Non sono sicuro sulla questione camelCase, per gli ingressi di posta elettronica ha funzionato, ma esattamente stessa nomenclatura con ingressi di password non ha funzionato, secondo la mia esperienza

7
<input type="password" id="password" class="nomal required error" value="" name="cpassword"> 

<input type="password" equalto="#password" class="nomal required error" value="" name="cpassword"> 
+2

Spiega sempre la tua risposta oltre al semplice codice. – Rikesh

0
if($("#newpassword").val()!== ($("#conformpassword").val())){ 
    $('#newpasswordId').html('<font color="red">Your password does not match</font>'); 
    $("#newpassword").val(''); 
    $("#conformpassword").val(''); 
    $('#newpassword').css("border", "#FF0000 solid 1px") 
    $('#conformpassword').css("border", "#FF0000 solid 1px") 
    $("#newpassword").focus(); 

    return false; 
} 
+0

Dove hai preso quegli ID? Non corrispondono a quelli nella domanda. È improbabile che copiando una parte del tuo progetto sia di aiuto a chiunque. Nota anche che la domanda è di due anni. –

Problemi correlati