jQueryvalidation – 选择多维数组至少1
如何使用jQueryvalidationvalidation以下内容。 用户必须至少选择以下选项之一。
0 1 2 0 1 2 0 1 2
要强制select
这些select
元素中的至少一个,您可以使用require_from_group
方法 , 该方法是additional-methods.js
文件的一部分 。
$('#myform').validate({ // other options, rules: { "quantity[adult][seat_a]": { require_from_group: [1, ".group-required"] }, "quantity[adult][seat_b]": { require_from_group: [1, ".group-required"] }, "quantity[adult][seat_c]": { require_from_group: [1, ".group-required"] } }, groups: { myGroup: "quantity[adult][seat_a] quantity[adult][seat_b] quantity[adult][seat_c]" } });
这将在所有三个select
元素上创建同时且相同的错误消息。 使用groups
选项将这些组合成一个,并使用errorPlacement
选项将结果消息放入布局中。
重要提示 :您还需要将每个select
的默认option
的value
设置为空。 否则,插件认为0
是用户的选择,并且不会validation任何内容。
要么…
编辑:
如果你有大量的元素并且不希望在.rules('add')
.validate()
单独声明它们,那么在jQuery .each()
使用.rules('add')
方法。
$('#myform').validate({ // other options, }); $('.group-required').each(function() { $(this).rules('add', { require_from_group: [1, '.group-required'] }); });
工作演示: http : //jsfiddle.net/n1z0Lufw/
此外,使用groups
选项合并错误消息,无需手动声明每个字段名称…
var names = ""; $('.group-required').each(function() { names += $(this).attr('name') + " "; }); names = $.trim(names); $('#myform').validate({ // other options, groups: { myGroup: names } }); $('.group-required').each(function () { $(this).rules('add', { require_from_group: [1, '.group-required'] }); });
演示2: http : //jsfiddle.net/scmuxq53/