我把它读到了jquery网站:
message(可选)字符串,功能
要显示的默认消息 这种方法。可以是创建的功能 通过jQuery.validator.format(value)。 未定义时,已存在 消息被使用(方便的 本地化),否则 特定于字段的消息必须是 定义
我添加了这样的方法:
$.validator.addMethod("postalCode", function(value, element) {
return this.optional(element) || /^[0-9\-]+$/i.test(value);
});
然后,在我的本地化文件中,我有:
postalCode: jQuery.validator.format("blabla")
然而,“blabla”从未被假设过。
我也尝试将jQuery.format()作为消息参数传递:
$.validator.addMethod("postalCode", function(value, element) {
return this.optional(element) || /^[0-9\-]+$/i.test(value);
}, jQuery.format());
也没有运气。
这假设如何工作?
非常感谢, MEM
答案 0 :(得分:1)
这样的事情:
$.validator.addMethod("postalCode", function(value, element) {
return this.optional(element) || /^[0-9\-]+$/i.test(value);
应该有效。如果省略该消息,它将从您的本地化消息文件中获取该消息。
这里很棒。 :)
答案 1 :(得分:0)
在$ .validator.addMethod()方法中,最后一个可选参数是默认常量消息,作为quots中的文本。您必须使用jQuery.validator.format(“... {0} ... {1} ...”),以防定义的处理程序具有参数:
addMethod("methodName", function(value, element, params){
可以在错误消息中输出,替换掩码“{N}”(这就是为什么需要函数“format”),其中N是参数的数量,如果有几个传递的话。 对于i.g.规则“minlength:10”表示“10”是处理程序函数中第三个变量的值。
如果您没有指定默认消息,则可以在“消息”部分中定义:
,messages : {
someField1 : {methodName:"error message"},
someField2 : {methodName:$.validator.messages.custom_mess}
}
希望按以下顺序包含js代码:
答案 2 :(得分:0)
如果你想要,例如“customPassword”验证。
$.extend( $.validator.messages, {
customPassword: "One number, small and big letter and min 8 chars.",
required: "This field is required.",
remote: "Please fix this field."
});
jQuery.validator.addMethod("customPassword", function(value, element, params){
return this.optional(element) || (value.match(/((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,50})/));
}, $.validator.messages.customPassword);