0

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

以下是我想出的:

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

在上面,checkPasswordvalidCharsnoSpace是添加的方法。

4

2 回答 2

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/

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

于 2013-02-18T16:01:07.890 回答
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 的好例子

于 2013-02-18T10:33:00.640 回答