更新:我发现我的添加方法没有被调用,因为我正在为我的窗体类调用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。
这stopeed工作时我重构形式看起来像这样
input class="kegsize" name="vendors[33][kegsize][SixthBbl]" type="checkbox" value="SixthBbl"
这最终需要为每一个方面复选框。我想能够说'供应商[] kegsize []':必需的(像这个非工作小提琴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});
我怎么能要求时,我有嵌套的命名至少一个复选框被选中?
我刚刚更新了我的问题,使其多了几分清晰。我想要求使用嵌套名称检查至少一个复选框。 – hodale
您是否使用验证插件? – EternalHour
我正在使用jquery验证 – hodale