Bevestig wachtwoord met jQuery validate

Ik probeer JQuery-plug-in te gebruiken om mijn wachtwoordinvoer te bevestigen.

Ik wil echter niet dat het een verplicht veld is.

Alleen als een gebruiker het wachtwoord wil wijzigen, zouden ze het moeten bevestigen.

Zo niet, mogen beide velden niet worden gevalideerd.

jQuery('.validatedForm').validate({
    rules: {
        password: {
            required: true,
            minlength: 5
        },
        password_confirm: {
            required: true,
            minlength: 5,
            equalTo: "#password"
        }
    }
}); 

Dit werkt perfect, maar nogmaals, beide velden zijn vereist.

Ik wil graag deze optionele hebben, in het geval iemand gewoon hun e-mail of gebruikersnaam wil veranderen en het wachtwoord alleen laat.


1, Autoriteit 100%

Verwijder de gewenste required: trueregel.

Demo: fiddle

jQuery('.validatedForm').validate({
            rules : {
                password : {
                    minlength : 5
                },
                password_confirm : {
                    minlength : 5,
                    equalTo : "#password"
                }
            }

2, Autoriteit 22%

Gewoon een snelle klokken hier om anderen hopelijk te helpen … vooral met de nieuwere versie (omdat dit 2 jaar oud is) …

In plaats van een aantal statische velden gedefinieerd in JS, kunt u ook de data-rule-*Attributen gebruiken. U kunt ingebouwde regels en aangepaste regels gebruiken.

Zie http://jQueryvalidation.org/documentation/ # Link-list-of-ingebouwde validatie-methoden voor ingebouwde regels.

Voorbeeld:

<p><label>Email: <input type="text" name="email" id="email" data-rule-email="true" required></label></p>
<p><label>Confirm Email: <input type="text" name="email" id="email_confirm" data-rule-email="true" data-rule-equalTo="#email" required></label></p>

Let op de data-rule-*ATTIBUTEN.


3, Autoriteit 5%

Het werkt als ID-waarde en naamwaarde anders zijn:

<input type="password" class="form-control"name="password" id="mainpassword">
password: {     required: true,     } , 
cpassword: {required: true, equalTo: '#mainpassword' },

4, Autoriteit 2%

Ik implementeer het in PLAY Framework en voor mij werkte het zo:

1) Merk op dat ik data-regel-equaldo gebruikte in invoer tag voor de ID-inputpassword1.
Het codegedeelte van UserForm in mijn modal:

<div class="form-group">
    <label for="pass1">@Messages("authentication.password")</label>
    <input class="form-control required" id="inputPassword1" placeholder="@Messages("authentication.password")" type="password" name="password" maxlength=10 minlength=5>
</div>
<div class="form-group">
    <label for="pass2">@Messages("authentication.password2")</label>
    <input class="form-control required" data-rule-equalTo="#inputPassword1" id="inputPassword2" placeholder="@Messages("authentication.password")" type="password" name="password2">
</div>

2)Sinds ik validator binnen een Modal heb gebruikt

$(document).on("click", ".createUserModal", function () {
       $(this).find('#userform').validate({
           rules: {
               firstName: "required",
               lastName: "required",
               nationalId: {
                   required: true,
                   digits:true
               },
               email: {
                   required: true,
                   email: true
               },
               optradio: "required",
               password :{
                   required: true,
                   minlength: 5
               },
               password2: {
                   required: true
               }
           },
           highlight: function (element) {
               $(element).parent().addClass('error')
           },
           unhighlight: function (element) {
               $(element).parent().removeClass('error')
           },
           onsubmit: true
       });
   });

Ik hoop dat het iemand helpt :).


Antwoord 5

<script>
     $(document).ready(function(){            
     });
     function login() {
         var password = $("#psw").val()
         var password1 = $("#psw1").val()
         var pswlen = password.length;
         if (pswlen < 8) {
             alert('minmum  8 characters needed')
         }
         else {
            if (password == password1) {
                 alert('continue');
                 window.location.replace("http://stackoverflow.com");
             }
             else {
                 alert('failed');
             }
         }
     }
</script>

Other episodes