gpt4 book ai didi

javascript - 根据问题返回不同的消息

转载 作者:行者123 更新时间:2023-11-28 08:33:54 24 4
gpt4 key购买 nike

我有一个 jQuery 验证 addMethod,它检查密码长度并确保该值与另一个密码字段值匹配。

我不知道如何让 addMethod 根据原因返回自定义消息,这可能吗?

两个密码字段是:

<input type="password" class="required" name="Password" id="Password">
<input type="password" class="required" name="ConfirmPassword" id="ConfirmPassword">

代码:

$.validator.addMethod("arePasswordsValid", function(value, element) {

this.isValid = true;
this.errorMessage = "";
this.options = {
minLength: 6,
maxLength: 20
};

if (value != $('#ConfirmPassword').val()) {
this.errorMessage = "Password and Confirm Password should be same";
this.isValid = false;
}
if (value.length < this.options.minLength || value.length > this.options.maxLength) {
this.errorMessage = "The password must be between 6 and 20 characters long";
this.isValid = false;
}
return this.isValid;
}, this.errorMessage);

$('form').find('input#Password').rules("add", {
required: true,
arePasswordsValid: true
});

上述内容不起作用,因为 this.errorMessage 不可访问,表单会根据需要填写的必填字段进行验证。

有什么想法吗?

最佳答案

1) 您的 minlengthmaxlength 规则拼写错误。请注意,大写的 L 不正确。

2) minlengthmaxlength 规则可以简单地组合成 the rangelength rule .

rangelength: [6,20]

3)你让事情变得比实际需要的更加复杂。只需使用 the equalTo rule 。您的情况正是它旨在解决的问题。

4) 使用messages选项更改任何消息的确切措辞。

工作演示:http://jsfiddle.net/7pN8A/2/

$('#myform').validate({
rules: {
Password: {
required: true,
rangelength: [6,20]
},
ConfirmPassword: {
equalTo: "#Password" // this is all you need... the rules for the other will apply
}
},
messages: { // optional, over-ride default messages
Password: {
rangelength: "The password must be between {0} and {1} characters long"
},
ConfirmPassword: {
equalTo: "Password and Confirm Password should be same"
}
}
});

您的 HTML:

<form id="myform">     
<input type="password" class="required" name="Password" id="Password">
<input type="password" class="required" name="ConfirmPassword" id="ConfirmPassword">
</form>

关于javascript - 根据问题返回不同的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21479761/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com