问题描述
我正在为 TextBoxFor 和 DropDownListFor 使用 MVC 数据验证,并且它工作得很好。但我也想为复选框列表添加 jquery 验证有没有办法添加它?在我的 document.ready 中 我调用的函数 ready validate();添加了 validator.addMethod 但它没有触发。
<button type="submit" class="btn btn-primary px-4 float-right">Save</button>
$(document).ready(function () {
validate();
}
var validate = function () {
$.validator.addMethod("sources",function (value,elem,param) {
if ($("[name='chkProduct']:checkBox:checked").length > 0) {
return true;
} else {
return false;
}
},"You must select at least one!");
解决方法
尝试使用您的复选框,如下所示:
<fieldset id="checkArray">
<input type="checkbox" name="chk[]" value="Apples" />
<input type="checkbox" name="chk[]" value="Bananas" />
</fieldset>
然后像这样通过 Jquery 进行验证:
var atLeastOneIsChecked = $('#checkArray:checkbox:checked').length > 0;
//there should be no space between identifier and selector
// or,without the container:
var atLeastOneIsChecked = $('input[name="chk[]"]:checked').length > 0;
然后您可以使用 atLeastOneIsChecked 来验证是否有任何选中的框(true 或 false)并随心所欲。