2012-03-17 134 views
0

我有兩個asp:TextBox。用戶需要在至少一個文本框中輸入值。 請讓我知道如何驗證,以確保數據輸入至少一個框。 謝謝。asp.net驗證多文本框

+0

可以嘗試JQuery驗證插件。[jQuery的插件驗證](http://bassistance.de/jquery-plugins/jquery-plugin-validation/),它可以自動驗證時輸入的值。 – zhengchun 2012-03-17 03:19:31

回答

1

您可以使用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和Button的ValidationGroup屬性應該相同。所以,你的按鈕應該是下面的東西。

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

使用的CustomValidator並在代碼隱藏,你可以IsValid屬性設置爲true,只有在兩個文本框是不是空的:與客戶端的解決方案類似

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

替代SOLU使用兩個RequiredValidator:

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