2011-12-22 7 views
0

asp.netに必要なバリデータコントロールを使用して単純なasp.netコードを書きましたが、問題は、GOと呼ばれるサブミットボタンと、選択: クリア、提出、キャンセル。asp.net asp.netのすべてのボタンアクションでフィールドの検証が必要

どのオプションを選択しても、必要なフィールド検証が実行されています。

選択した値が送信されたときにのみページをコード化する方法はありますか?

<asp:TextBox runat="server" id="txtName" /> 
    <asp:RequiredFieldValidator runat="server" id="reqName" controltovalidate="txtName" errormessage="Please enter your name!" /> 
    <br /><br /> 


    <asp:DropDownList ID="dpAction" runat="server"> 
       <asp:ListItem>Submit</asp:ListItem> 
       <asp:ListItem Value="Reset">Reset</asp:ListItem> 
       <asp:ListItem>Cancel</asp:ListItem> 
      </asp:DropDownList> 
    &nbsp; 
      <asp:Button ID="btnAction" runat="server" onclick="btnAction_Click" Text="Go" 
       Width="40px" /> 
+0

btnAction_Clickのロジックを投稿できますか? – c0deNinja

+0

それはちょうど値があるかどうかチェックします。もしそれがいくつかの値を処理し、電子メールに送信します。 – user1091438

答えて

2

おそらくカスタムバリデーターを使用する必要があります。また、クライアント側の検証が必要な場合は、クライアント側のコードを記述する必要があります。

「dpAction」が「送信」に設定されている場合に必要なテキストボックスなどがあるとしますか?

したがって、たとえば、あなたは、「必要」属性を使用して、マークアップ

<asp:CustomValidator id="CustomValidator1" runat="server" 
    OnServerValidate="TextValidate" 
    ControlToValidate="TextBox1" 
    ErrorMessage="Text must be specified if Submit is selected"> 

にし、

protected void TextValidate(object source, ServerValidateEventArgs args) 
{ 
    args.IsValid = dpAction.SelectedValue == "Submit" && !String.IsNullOrEmpty(textbox1.Text); 
} 
+0

私はasp.net必須のフィールドバリデーターによって検証されるいくつかのテキストボックスを持っています。私はJavaScriptを書いていない、ちょうどasp.netで1つを使用しています。しかし、ボタンがクリックされた後に起動され、選択されたオプションがクリアであることを確認する必要はありません。 – user1091438

+0

このカスタムバリデーターで検証要約を使用して必須フィールドを表示できますか? – user1091438

+0

はい。コンテキストに応じて異なるメッセージを表示する場合は、TextValidateメソッドでエラーメッセージを設定する必要があります。 –

0

あなたのコードビハインドでこのような何かをするだろう。 その新機能5

0

ValidatorGroupをValidatorごとに設定する必要があります。

とボタンがあなたのバリデータと同じvalidatonグループを持っている必要があります!あなたが検証したいすべてのコントロールと検証を発射するボタンの

関連する問題