更新:我發現我的添加方法沒有被調用,因爲我正在爲我的窗體類調用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