3

是否可以为 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 ,但表单仍然被成功验证。任何帮助将不胜感激。

4

1 回答 1

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>
于 2012-08-16T03:37:32.687 回答