ASP.NET 复选框列表客户端验证



是否可以为复选框列表添加自定义验证函数 ASP.NET jquery验证插件?我正在使用jquery插件来验证客户端的所有控件。它与文本框,下拉列表等普通输入完美配合。由于某种原因,它不适用于纯 html 复选框列表 Checkboxlist.In 成为一个包含 html 输入复选框的表。我编写了一个自定义函数来检查是否选中了任何复选框并将其添加到 jquery 验证中,但由于某种原因该函数未被调用。

jQuery.validator.addMethod('cb_selectone', function (value, element) {
     return false;
 }, 'Please select at least one option');

我一直尝试返回 false,但表单仍然成功验证。任何帮助将不胜感激。

这里有一种方法,但没有使用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>

最新更新