2010-11-03 17 views
27

J'utilise jquery pour la validation de formulaire. Le repos est bien sauf le champ de mot de passe de confirmation. Même lorsque le même mot de passe est tapé, le Veuillez entrer le même mot de passe. n'est pas supprimé.jquery confirme la validation du mot de passe

Mon script est:

<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> 

Et dans la balise 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> 

Toute suggestion? Serait très reconnaissant pour l'aide.

Répondre

18

Vos champs ne possède pas la propriété ID. En jQuery le sélecteur « #Password » signifie « l'objet qui a une propriété id avec la valeur 'password' »

Votre code devrait ressembler à ceci:

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

Assurez-vous que votre texte d'entrée de mot de passe a « mot de passe » id

+0

alors nous avons besoin de plus de code à la figure sur ce qui ne va pas – Dalen

+0

J'ai ajouté le code, s'il vous plaît vérifier. –

1

Assurez-vous qu'aucune autre entrée avec étiquette id='password' en cette même page.

2
rules: { 

n'est pas fermé. En d'autres } après:

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

C'est ainsi que la réponse au sujet de l'élément ID de.

1

J'ai rencontré quelques problèmes lors de l'utilisation des ID camelCase pour les entrées de mot de passe. J'ai finalement réussi à travailler avec différents 'nom' et '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> 

Puis dans la JS:

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

Alors consultez le champ de saisie par son 'nom', mais définir equalTo deppendency en utilisant 'id'. Je ne suis pas sûr de la question de camelCase, pour les entrées e-mail, il a travaillé, mais exactement la même nomenclature avec des entrées de mot de passe ne fonctionne pas, selon mon expérience

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

Toujours expliquer votre réponse en dehors du code. – 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

Où avez-vous reçu ces identifiants? Ils ne correspondent pas à ceux de la question. Il suffit de copier une partie de votre projet pour aider quelqu'un. Notez également que la question a deux ans. –