我是JQuery新手,正在使用JQuery验证插件。
我想问,如何覆盖默认的消息,也显示与表单元素相关联的标签文本。
我将得到这样的消息:
字段输入密码。代替默认该字段是必需的。
字段邮编必须至少包含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"
}
});
这是几天前我在寻找同样的东西时发现的。不幸的是,我不记得我在哪里找到的,所以我不能给写答案的人荣誉。
jQuery.extend(jQuery.validator.messages, {
required:"This field is required.",
equalTo:"Password fields do not match.",
email:"Please enter a valid email.",
});
有一种更简洁的方法可以做到这一点。
使用"data-msg"或"data-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." />
我需要做同样的事情,并最终创建了一个自定义方法,以便它的消息可以跨多个表单共享。
我在一个类似的Stack Overflow问题中找到了这个答案:我们如何通过类指定jquery验证插件的规则?
$.validator.addMethod(
"newEmail", //name of a virtual validator
$.validator.methods.email, //use the actual email validator
"Custom error message"
);
将此添加到插件后:
jQuery.extend(jQuery.validator.messages, {
required: "Your new default message",
email: "That's not a valid email"
});
如果你愿意,你可以把它放在一个单独的文件中,但要确保它包含在插件本身之后