根据jQuery Validation docs,通过列出元素名称来定义组,用空格分隔。对于具有动态构造名称的元素列表,它们都有点复杂。
我通过循环50次迭代来生成一个字符串,以涵盖最极端的情况,但这当然感觉非常糟糕的编程。我正在寻找的是一种按类名定义组的方法。是否有比我丑陋的黑客更好的解决方法?
答案 0 :(得分:0)
引用OP:
"我正在寻找的是一种按类名定义组的方法。有没有比我丑陋的黑客更好的解决方法?"
没有
使用groups
选项的最佳方式已在documentation中明确定义。
$("#myform").validate({
groups: {
username: "fname lname"
}
});
引用OP:
"我通过循环50次迭代来生成一个字符串,以涵盖最极端的情况,但这当然感觉非常糟糕的编程。"
感觉非常糟糕的表单设计。我无法想象您需要将50条验证消息合并为一个。
The groups
option通常与the require_from_group
method结合使用。使用require_from_group
时,您通常会在群组中的每个字段旁边看到相同的消息"Please fill at least {0} of these fields."
。如果您只想为整个群组显示一条消息,则可以使用groups
选项将消息合并为一个消息。然后,您可以使用errorPlacement
选项将此单个消息精确地放入布局中。
按class
或群组分配验证规则完全是另一回事,与groups
选项无关。
由于你所表现的很少,你不清楚自己想要达到的目标。
答案 1 :(得分:0)
在html中使用jquery和聪明的错误标签放置,您可以使用errorPlacement函数执行此操作,如下所示:
__('I love programming.')
这是一个小提琴:https://jsfiddle.net/f3qv9vk0/
这样,您可以按类名抓取复选框或其他元素组。我发现使用“群组”变得非常沉重,有5个或更多复选框。