2012-03-17 270 views
0

私は2つのasp:TextBoxを持っています。ユーザーは少なくとも1つのテキストボックスに値を入力する必要があります。 少なくとも1つのボックスにデータが入力されていることを確認する方法を教えてください。おかげさまで 複数のテキストボックスのasp.net検証

+0

あなたはjqueryの検証プラグインを試すことができます。[jqueryの - プラグインの検証](http://bassistance.de/jquery-plugins/jquery-plugin-validation/)値を入力するとき、それは自動検証をすることができます。 – zhengchun

答えて

1

TextBoxを検証するには、CustomValidatorを使用できます。

protected void ValidateBoxes(object sender, ServerValidateEventArgs e) 
{ 
    if (TextBox1.Text == "" && TextBox2.Text == "") 
     e.IsValid = false; 
    else 
     e.IsValid = true; 
} 

また、バリデータを.aspxページで指定する必要があります。

<asp:CustomValidator ID="Validator1" runat="server" ControlToValidate="TextBox1" 
        OnServerValidate="ValidateBoxes" 
        ErrorMessage="• Enter Text" ValidationGroup="check" 
        Display="None"> 
</asp:CustomValidator> 

のCustomValidatorとポストバックをトリガーボタンの両方のValidationGroupプロパティは同じでなければならないことを覚えておいてください。だから、あなたのボタンは以下のようなものでなければなりません。

<asp:Button ID="Button1" runat="server" Text="Hey" 
      ValidationGroup="check" 
      OnClick="Operation"> 
</asp:Button> 
0

のCustomValidatorを使用し、コードビハインドであなたは、両方のTextBoxが空でない場合にのみ、trueにIsValidプロパティを設定することができます。

http://asp.net-tutorials.com/validation/custom-validator/

http://p2p.wrox.com/asp-net-1-0-1-1-basics/19729-custom-validator-two-text-box.html

クライアント側のソリューションと似たような:

asp.net validate textbox - at least one text box must have data in

代替ソリュー2つのRequiredValidatorsを使用している:

void Button_Click(Object sender, EventArgs e) 
{ 
    if (TextBoxRequiredValidator1.IsValid && TextBoxRequiredValidator2.IsValid) 
    { 
     // Process page 
    } 
    else 
    { 
     MessageLabel.Text = "Both TextBoxes must be filled"; 
    } 
} 
関連する問題