【发布时间】:2015-06-27 15:27:45
【问题描述】:
更新:我发现我添加的方法没有被调用,因为我正在为我的表单类调用 addClassRules。我不知道为什么我不能这样做,但我通过添加一个没有值的隐藏表单字段并将自定义验证应用于该字段来修复它。
我的表单中有一部分需要至少选中一个复选框。最初我通过以下方式验证:
$.validator.addMethod('kegRequired', $.validator.methods.required, 'Choose at least one keg size');
$.validator.addClassRules('kegsize', {kegRequired: true});
每个复选框看起来像这样:
input class="kegsize" name="33kegsizes[]" type="checkbox" value="SixthBbl"
该数字是父“供应商”的 ID。
当我将表单重构为如下所示时,这停止了工作
input class="kegsize" name="vendors[33][kegsize][SixthBbl]" type="checkbox" value="SixthBbl"
这最终会根据需要处理每个复选框。我希望能够说 'vendors[]kegsize[]': required(就像这个不工作的小提琴http://jsfiddle.net/7rjcyej6/)。
这是一个不同的尝试,但这不起作用,我不确定为什么:
$.validator.addMethod('kegRequired', function(value, element, params) {
if ($(element).find('input:checked .kegsize').length()){
return true
}else{
return false
}
}, 'Choose at least one keg size');
$.validator.addClassRules('keg-size-price-form', {kegRequired: true});
当我有嵌套命名时,我如何要求至少选择一个复选框?
【问题讨论】:
-
我刚刚更新了我的问题以使其更加清晰。我想要求使用嵌套名称至少选中一个复选框。
-
你在使用验证插件吗?
-
我正在使用 jquery 验证
标签: jquery validation checkbox