我是JQuery的新手,并使用JQuery validation plugin。jQuery Validation插件 - 自定义消息
我想问一下,如何覆盖默认消息以显示与表单元素相关联的标签中的文本。
我会得到的消息是这样的:需要
现场密码。而不是默认此字段必填。
字段PostCode必须包含至少3个字符。而不是默认请输入至少3个字符。
我需要重写此插件的默认行为,因为我不想为每种类型的验证指定每个项目的自定义消息。
可能吗?
我是JQuery的新手,并使用JQuery validation plugin。jQuery Validation插件 - 自定义消息
我想问一下,如何覆盖默认消息以显示与表单元素相关联的标签中的文本。
我会得到的消息是这样的:需要
现场密码。而不是默认此字段必填。
字段PostCode必须包含至少3个字符。而不是默认请输入至少3个字符。
我需要重写此插件的默认行为,因为我不想为每种类型的验证指定每个项目的自定义消息。
可能吗?
$("#signupform")
.validate({
rules: {
password: "required",
postcode: {
required: true,
minlength: 3
}
},
messages: {
password: "Field Password is required",
postcode: {
required: "Field PostCode is required",
minlength: "Field PostCode must contain at least 3 characters"
}
});
我需要做同样的事情,并最终创建一个自定义方法,以便它的消息可以跨多个表单共享。
我发现这个答案类似的堆栈溢出问题:How can we specify rules for jquery validation plugin by class?
这是我发现,当我一前两天寻找同样的事情。不幸的是,我不记得我在哪里找到它,所以我不能给写出答案的人信用。
jQuery.extend(jQuery.validator.messages, {
required:"This field is required.",
equalTo:"Password fields do not match.",
email:"Please enter a valid email.",
});
http:// stackoverflow。com/a/2457053/3416443 - 这是正确的链接 – Muarl
有一个更简洁的方法来实现这一点。
使用“数据-MSG”或“数据-MSG-(RuleName中)”覆盖默认的错误消息的预定义规则或自定义规则。 (jQuery验证v1.11.0后,目前v1.16.0)
<input id="pwd" name="pwd" type="password" value=""
required
data-msg-required="Field Password is required." />
<input id="postcode" name="postcode" type="text" value=""
required
data-msg-required="Field PostCode is required."
minlength="3"
data-msg-minlength="Field PostCode must contain at least 3 characters." />
到目前为止最好的答案如果你只需要定制一个或两个错误信息! – AlexisWbr
插件后补充一点:
jQuery.extend(jQuery.validator.messages, {
required: "Your new default message",
email: "That's not a valid email"
});
你可以把它放在一个单独的文件,如果你想,但要确保它包含在插件本身之后
感谢您的回答,但正如我所说: 我需要覆盖此插件的默认行为,因为我不想为每种类型的验证指定每个项目的自定义消息。 你的答案正是我不想要的。 – Detonator
@Martin:对不起,错过了那一点。那么,我可以看到你覆盖默认消息的唯一方法就是编辑插件,我不建议这样做。看看['invalidHandler'](http://docs.jquery.com/Plugins/Validation/validate#toptions)是否适合你,否则这里的选项似乎有限。 – Shef
也可以通过这种方式为特殊输入设置特殊消息:'data-msg-required =“请输入您的电子邮件地址”'或'data-msg-email =“请在html标记中输入一个有效的电子邮件地址。 –