2012-03-17 92 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"; 
    } 
}