25

以下のような検証がありますが、チェックボックスがオンになっている場合にのみトリガーしたいです。

<!-- TextBox and its validator -->
Name: <asp:TextBox ID="TextBox1" runat="server" />

<asp:RequiredFieldValidator runat="server"
        ID="RequiredFieldValidator1" 
        Text="*"
        ErrorMessage="Name is required" 
        ControlToValidate="TextBox1" />

asp:RequiredFieldValidator を使用して実行できますか?
特定の条件が一致したかどうかを検証するだけです。
現在、「保存」ボタンがクリックされるたびに検証されています。

4

5 に答える 5

39

代わりにカスタム バリデータを使用します。

<asp:CustomValidator ID="cv1" runat="server"
        ErrorMessage="Name is required"
        Text="*"
        ControlToValidate="TextBox1"
        ValidateEmptyText="True" 
        ClientValidationFunction="validate" />

およびスクリプト(例としてチェックボックスとテキストボックスの値をチェックするだけです。カスタムロジックを使用できます):

<script type="text/javascript">
    function validate(s,args){
        if(document.getElementById("<%= checkboxId.ClientID %>").checked){
            args.IsValid = args.Value != '';

        }
        else{
            args.IsValid = true;
        }
    }
</script>

これにより、クライアント側の検証が行われます。サーバーの検証も必要な場合は、OnServerValidate属性とコード ビハインドのハンドラーを追加します。詳細はこちら

于 2013-05-28T11:48:32.707 に答える
0

Javascript/jQuery からRequiredFieldValidatorを有効/無効にすることができます。あなたの条件では、チェックボックスがチェックされている場合:- javascript 関数を呼び出してRequiredFieldValidatorを有効にし、チェックを外すと RequiredFieldValidator が無効になります。

ドロップダウン インデックスの変更、テキスト ボックスの値の変更、ラジオ ボタンの選択の変更などの他の条件については、それぞれ onchange、onblur、onclick を呼び出すことができ、必要な条件を実行した後、RequiredFieldValidatorを有効/無効にすることができます。

これがお役に立てば幸いです。

于 2013-05-28T12:22:46.123 に答える