jQuery - 验证密码

时间:2013-05-25 11:45:32

标签: javascript jquery jquery-validate

我正在尝试使用jQuery来验证我的两个密码字段。

我的代码如下所示:

jQuery('#settingsForm').validate(
    rules : {
        npassword : {
        },
        pass_check : {
            equalTo : '#npassword'
        }
    }
});

这是输入字段的HTML:

<label for='npassword'>New Password</label>
<input type='password' class='span10 password_check' name='npassword' id='npassword' value='' placeholder='New Password'>
<div class='separator'></div> 

<label for='pass_check'>Confirm New Password</label>
<input type='password' class='span10' name='pass_check' id='pass_check' value='' placeholder='Confirm New Password'>
<div class='separator'></div> 

虽然这没有做任何事情。我应该改变什么?我是jQuery和Javascript的新手。

提前致谢。

3 个答案:

答案 0 :(得分:1)

您应填写npassword的配置,例如使用required: true。见这里:http://jsfiddle.net/JtTgM/

答案 1 :(得分:0)

1)您在{之后错过了左括号.validate(

jQuery('#settingsForm').validate({ // <-- opening brace { was missing

2)也许您想为第一个密码字段指定required规则。否则,当两个字段都为空时,它们都匹配且表单有效。

npassword: {
    required: true
},

3)您可以使用messages选项覆盖默认消息:

jQuery('#settingsForm').validate({
    rules: {
        npassword: {
            required: true
        },
        pass_check: {
            equalTo: '#npassword'
        }
    },
    messages: {
        npassword: {
            required: "this field is required"
        },
        pass_check: {
            equalTo: "the passwords must match"
        }
    }
});

工作演示:http://jsfiddle.net/vsLWg/

答案 2 :(得分:0)

$( "#Form").validate({
  rules: {
    old_password: "required",
    password: "required",
    new_password: {
      equalTo: "#password"
    }
  }
});