jquery验证:密码更改和确认

时间:2013-02-18 08:56:14

标签: jquery jquery-validate

我以成员数据修改的形式使用了jQuery验证。表单中有三个字段,即原始密码(passwordOrig),新密码(password)和密码确认(passwordSecond)。我想确保用户输入所有都不是。我如何使用jQuery做到这一点?

以下是我的想法:

$("#accountData").validate({
  rules: {
    passwordOrig: {checkPassword: true},
    password: {validChars: true, noSpace: true, minlength: 5},      
    passwordSecond: {equalTo: "#password"},
    ...
  }
  message: {
    ...
  }

在上文中,添加了checkPasswordvalidCharsnoSpace方法。

2 个答案:

答案 0 :(得分:2)

您需要包含additional-methods.js文件并使用名为skip_or_fill_minimum的附带规则。

在相关class字段中添加常用input

<form id="accountData">
    <input type="text" class="pw" name="passwordOrig" />
    <input type="text" class="pw" name="password" id="password" />
    <input type="text" class="pw" name="passwordSecond" />
    ....
</form>

skip_or_fill_minimum规则需要两个参数,即分组中的字段数和您在上面创建的class名称skip_or_fill_minimum: [3,".pw"]

$(document).ready(function () {

    $('#accountData').validate({ // initialize the plugin
        rules: {
            passwordOrig: {
                checkPassword: true,
                skip_or_fill_minimum: [3,".pw"]
            },
            password: {
                validChars: true,
                noSpace: true,
                minlength: 5,
                skip_or_fill_minimum: [3,".pw"]
            },
            passwordSecond: {
                equalTo: "#password",
                skip_or_fill_minimum: [3,".pw"]
            }
        },
        groups: {
            justaname: "passwordOrig password passwordSecond"
        }
    });

});

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

我还使用the groups: option将三条消息分组为一条,但如果需要,可以将其删除。您可能还希望将自定义noSpace方法替换为additional-methods.js文件nowhitespace中已包含的方法,但这又取决于您的需求。

答案 1 :(得分:1)

您需要确保给定集合中的最小字段数填写或留空 - additional-methods.js有一个方法可以满足此要求,称为 skip_or_fill_minimum

要使用此规则,请为您感兴趣的输入添加一个类

<input class="mygroup" name="fname" id="fname">
<input class="mygroup" name="sname" id="sname">
<input class="mygroup" name="other" id="other">

然后指定规则,说明您需要填写多少,在您的情况下全部三个,以及您使用的类,在本例中为mygroup。

...
rules : {
 fname : {skip_or_fill_minimum: [3,".mygroup"]}, 
 sname : {skip_or_fill_minimum: [3,".mygroup"]},
 other : {skip_or_fill_minimum: [3,".mygroup"]},
},
...

有一个使用姐妹函数require_from_group in this answer

的好例子