如何使用 addClassRules 将消息添加到类
我正在使用 jQuery Validate 来验证包含大量重复数据行的页面。由于空间有限,每一行都有自己的验证摘要。
我使用 addClassRules 将验证规则应用到页面,但摘要中的默认错误消息过于笼统(例如“需要字段、需要字段等)。
示例:
jQuery.validator.addClassRules({
amount: {
required: true,
range: [0, 2000000]
},
comment: {
maxlength: 51
},
owner: {
notFirstOption: true
},
A: {
required: function (element) {
return getParentElement($(element), "tr").find(".colB input.B").val().length > 0;
},
digits: true
}});
您可以为每个验证类中的规则应用自定义消息吗?理想情况下,我想要的是:
jQuery.validator.addClassMessages({
amount: {
required: "Amount is required",
range: "Amount must be between 0 and 2,000,000"
},
comment: {
maxlength: "Comment may be a maximum of 51 characters"
},
owner: {
notFirstOption: "Please select an owner"
},
A: {
required: "A is required if B is entered",
digits: "A must be numeric"
}});
提前感谢您提供的任何帮助!
I'm using jQuery Validate to validate a page with a large number of repeated rows of data. Due to limited space, each row has it's own validation summary.
I use addClassRules to apply the validation rules to the page but the default error messages are too generic in the summary (e.g. "Field is required, Field is required etc).
Example:
jQuery.validator.addClassRules({
amount: {
required: true,
range: [0, 2000000]
},
comment: {
maxlength: 51
},
owner: {
notFirstOption: true
},
A: {
required: function (element) {
return getParentElement($(element), "tr").find(".colB input.B").val().length > 0;
},
digits: true
}});
Can you apply custom messages for the rules in each validation class? Ideally I'm after something like:
jQuery.validator.addClassMessages({
amount: {
required: "Amount is required",
range: "Amount must be between 0 and 2,000,000"
},
comment: {
maxlength: "Comment may be a maximum of 51 characters"
},
owner: {
notFirstOption: "Please select an owner"
},
A: {
required: "A is required if B is entered",
digits: "A must be numeric"
}});
Thanks in advance for any help you can offer!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
在文档中,答案是为要调用的方法指定别名并添加自定义消息。
检查“重构规则”标题下的参考:
In the documentation, the answer is to alias the method that you want to call and add the custom message.
Check the reference under the "Refactoring rules" heading:
这可以使用下面的代码来完成,
This can be done using below code,
我想出了一个相当令人发指的解决方案,但希望能得到一些更干净、更多时间的解决方案...
无论如何,通过 jQuery 元数据分配消息,我可以为每个类自定义它们。
...对于我的网格行中的每个字段等等。
我将考虑扩展“addClassRules”方法以接受消息参数,但目前这是可行的,所以它会这样做。
I've come up with a pretty heinous solution but hope for something a lot cleaner with a bit more time...
Anyway, by assigning the messages through jQuery metadata I'm able to customise them per class.
...and so on for each of the fields in my grid rows.
I'll be looking at extending the 'addClassRules' method to accept a messages parameter but for now this works so it'll do.
由于每个人显然都对这个问题的回应感兴趣,因此这是我寻求答案的下一步!
我已在插件中添加了允许添加类消息的方法,并修改了默认消息处理程序以挑选出这些消息。
在“customMetaMessage”之前
添加 修改“defaultMessage”以包含对上述方法的调用
添加“addClassMessages”方法
我还无法弄清楚如何在插件外部附加这些附加方法。至少我不必在“class”属性中声明错误消息。
Since everyone's obviously interested in the response to this one here's the next step in my pursuit of an answer!
I've added methods into the plugin that allow the addition of class messages and amended the default message handler to pick these out.
Added before 'customMetaMessage'
Amended 'defaultMessage' to include a call to the above method
Added an 'addClassMessages' method
I haven't been able to work out how to attach these additional methods outside of the plugin as yet. At least I don't have to declare error messages in the 'class' attribute though.
将 data-msg-required="Error message here" 与您想要进行验证的元素结合使用
Use data-msg-required="Error message here" with the element you like to do validation
建议的答案需要编写自定义方法或常见错误消息,有时不容易自定义。下面的一个对我有用,在github问题跟踪器中提到:
<用法:
The suggested answers requires to write custom method or common error messages, which sometimes not easily customised. Below one works for me which was mentioned in github issue tracker:
Usage:
试试这个:
我想这就是你正在寻找的,对吗?
Try this:
I think that is what you are looking for, correct?