ASP.NET CheckBoxList客户端验证

时间:2012-08-16 01:23:15

标签: jquery asp.net

是否可以为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,但表单仍然成功验证。非常感谢。

1 个答案:

答案 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>