在jQuery中为密码字段组合两个验证

时间:2016-12-08 03:19:32

标签: javascript jquery twitter-bootstrap-3

我有一个注册表单,我正在使用第三方库来验证输入。此库为验证提供了非常好的和很酷的效果,但我需要进行另一次验证以确保密码和确认密码匹配。我怎么能通过jQuery做到这一点?这是我的代码:

<div class="form-group">
    <label>Password</label>
    <input type="password" class="form-control" name="password" />
</div>
<div class="form-group">
    <label>Retype Password</label>
    <input type="password" class="form-control" name="password2" />
</div>

和jQuery部分:

$('#registrationForm').formValidation({
    framework: 'bootstrap',
    fields: {
        password: {
            validators: {
                notEmpty: {
                    message: 'The password is required'
                }
            }
        },
        password2: {
            validators: {
                notEmpty: {
                    message: 'Password conformation is required'
                },
                equalTo: {
                    field: 'password',
                    message: 'The password cannot be the same as username'
                }
            }
        }
    }
});

我应该用什么来代替问号来解决我的问题?或者我的语法完全错了?

2 个答案:

答案 0 :(得分:1)

Working Fiddle

Html:

<form id="formCheckPassword">

  <div class="form-group">
    <label>Password</label>
    <input type="password" class="form-control" name="password" id="password" />
  </div>
  <div class="form-group">
    <label>Retype Password</label>
    <input type="password" class="form-control" name="cfmPassword" id="cfmPassword" />
  </div>
  <input type="submit" value="submit" />
</form>

和Jquery规则:

$("#formCheckPassword").validate({
   rules: {
     password: {
       required: true,
       minlength: 6,
       maxlength: 10,

     },

     cfmPassword: {
       equalTo: "#password",
       minlength: 6,
       maxlength: 10
     }


   },
   messages: {
     password: {
       required: "the password is required"

     }
   }

 });

根据要求更新:

$('#RegistrationForm').formValidation({
    framework: 'bootstrap',
    fields: {
        password: {
            validators: {
                identical: {
                    field: 'confirmPassword',
                    message: 'The password and its confirm are not the same'
                }
            }
        },
        confirmPassword: {
            validators: {
                identical: {
                    field: 'password',
                    message: 'The password and its confirm are not the same'
                }
            }
        }
    }
});

答案 1 :(得分:0)

我没有看到它在该语法中工作。如果你想通过jQuery(如你所提到的那样),你可以简单地检查值:

var password1 = $('input[name=password]').val();
var password2 = $('input[name=password2]').val();
var match = password1 == password2