是否可以为ASP.NET CheckBox列表的jquery validate插件添加自定义验证函数?我使用jquery插件来验证客户端的所有控件。它与文本框,下拉列表等正常输入完美配合。某些原因它不能使用Checkboxlist。在纯html checkboxlist成为一个带有html输入复选框的表。我写了一个自定义函数来检查是否检查了任何复选框并将其添加到jquery validate但是由于某种原因该函数没有被召唤。
jQuery.validator.addMethod('cb_selectone', function (value, element) {
return false;
}, 'Please select at least one option');
我一直尝试返回false,但表单仍然成功验证。非常感谢。
答案 0 :(得分:1)
这是一种方法但不使用jquery.validate。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<script type="text/javascript" src="Scripts/jquery-1.8.0.js"></script>
<script type="text/javascript">
function cb_selectone(src, args) {
var items = $("input[name^='cblTest']");
for (i = 0; i < items.length; i++) {
if ($(items[i]).is(":checked")) {
args.IsValid = true;
return;
}
}
args.IsValid = false;
}
</script>
<body>
<form id="form1" runat="server">
<div>
<asp:CheckBoxList runat="server" ID="cblTest">
<asp:ListItem Text="Test A" Value="A"></asp:ListItem>
<asp:ListItem Text="Test B" Value="B"></asp:ListItem>
</asp:CheckBoxList>
<asp:CustomValidator ErrorMessage="Please select at least one.<br/>" ClientValidationFunction="cb_selectone" runat="server" />
<asp:Button runat="server" ID="btnTest" Text="Submit" />
</div>
</form>
</body>
</html>