jquery确认密码验证

时间:2010-11-03 07:34:53

标签: javascript jquery jquery-validate

我正在使用jquery进行表单验证。休息很好,除了确认密码字段。即使键入相同的密码,请输入相同的密码。也不会被删除。

我的脚本是:

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

在表格标签内:

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

有什么建议吗? 非常感谢你的帮助。

7 个答案:

答案 0 :(得分:18)

您的字段没有ID属性。 在jQuery中,“#password”选择器意味着“具有值为id的{​​{1}}属性的对象”

您的代码应如下所示:

'password'

答案 1 :(得分: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 :(得分:2)

确保您密码的输入文字具有ID“密码”

答案 3 :(得分:2)

rules: {

未关闭。在...之后添加另一个}

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

这与元素ID的答案一样。

答案 4 :(得分:1)

请确保同一页面中没有标记id='password'的其他输入。

答案 5 :(得分:1)

当使用camelCase id作为密码输入时,我遇到了一些问题。我最终使用不同的'name'和'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>

然后在JS:

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

因此,请通过“name”引用输入字段,但使用“id”定义equalTo deppendency。我不确定camelCase问题,因为它工作的电子邮件输入,但根据我的经验,完全相同的密码输入命名不起作用

答案 6 :(得分: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;
}