3

ASP.NET CheckBox リストの jquery 検証プラグインにカスタム検証関数を追加することは可能ですか?クライアント側ですべてのコントロールを検証するために jquery プラグインを使用しています。テキスト ボックス、ドロップダウン リストなどの通常の入力で完全に動作します。チェックボックスリストで動作していません.純粋なhtmlチェックボックスリストでは、html入力チェックボックスを含むテーブルになります.チェックボックスのいずれかがチェックされているかどうかを確認するカスタム関数を作成し、jquery validateに追加しましたが、何らかの理由で関数が取得されていません呼ばれた。

jQuery.validator.addMethod('cb_selectone', function (value, element) {

     return false;
 }, 'Please select at least one option');

私は常に false を返そうとしましたが、それでもフォームは正常に検証されています。

4

1 に答える 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 に答える