显示错误消息时,JQuery validate插件使用{number}
格式作为传递给规则的参数的占位符。 (例如this field must be between {0} and {1} characters
)
但是,我无法找到一种方法,使用$.validator.messages
数组将字段名称传递给全局范围内的消息。
所以代替静态:
this field is required
我想传递类似的内容:
the {fieldname} field is required
在我的服务器端框架Laravel中,:attribute
plcaheholder服务于此目的。
插件是否支持此功能?
答案 0 :(得分:6)
您可以将函数作为消息值传递,如
$.validator.messages.required = function (param, input) {
return 'The ' + input.name + ' field is required';
}
演示:Fiddle
答案 1 :(得分:0)
有很多方法可以使用JQuery Validate自定义错误消息。改变验证器原型是一种方法,但还有更多。哪个使用取决于您的最终目标。例如,您想要的粒度(请参阅下面的代码段)。
有关错误消息的具体文档,请访问:https://jqueryvalidation.org/reference/#link-error-messages
使用传递给validate()的options对象上的消息属性,可以完全控制每种类型的每个字段。以下是从https://jqueryvalidation.org/validate/复制的示例,其中包含两个验证规则的电子邮件字段:必填和电子邮件格式...
$("#myform").validate({
rules: {
name: "required",
email: {
required: true,
email: true
}
},
messages: {
name: "Please specify your name",
email: {
required: "We need your email address to contact you",
email: "Your email address must be in the format of name@domain.com"
}
}
});