3

お問い合わせフォームにRequiredFieldValidatorがあります。

ユーザーが[送信]をクリックすると意図したとおりに機能しますが、[キャンセル]またはフォームの複数のメニューのいずれかをクリックすると、RequiredFieldValidatorはアクションをキャンセルします。

私はすでに検索し、CausesValidation = Falseを使用して(この投稿を使用して)フォームに他のコントロールを設定する必要があることを発見しましたが、ページ上のすべてのコントロールに対してそれを行う必要がありますか?

さらに悪いことに、フォームのメニューはMaster.Pageに含まれており、ほとんどが<DIV>スタイルCSSボタンですが、いずれかのボタンをクリックすると、RequiredFieldValidatorが起動してフォームが失敗します。

デフォルトをFalseにすべきではなく、どのコントロールが検証を設定するかをオンにする必要がありますか?

4

2 に答える 2

4

検証グループを設定できます

             <asp:TextBox ID="tb1" runat="server" ValidationGroup="ValidateMe" />
             <asp:TextBox ID="tb2" runat="server" />
             <asp:RequiredFieldValidator" ID="rfv1" runat="server" ControlToValidate="tb1" ValidationGroup="ValidateMe" />
               ...
             <asp:Button ID="btnSubmit" runat="server" ValidationGroup="ValidateMe" />

ここから来ました

編集、申し訳ありませんが、これをコードに正しく配置せず、表示されませんでした:

または、キャンセルしてそのようなものであれば、いつでもクライアント側でそれらを使用して処理できます

         <input type="button" > 
于 2012-07-27T01:03:43.367 に答える
1

設定する必要があるのは次のとおりです。

  CausesValidation = False

アクションを実行するボタンに

ValidationGroup別の方法として、コントロールとボタンに属性を追加して、検証を上げるボタンを制御することもできます。指定されたものと一致するコントロールのみValidationGroupが検証されます

于 2012-07-27T01:02:06.903 に答える