验证三个文本框,包括电话号码

时间:2011-05-14 13:14:02

标签: c# .net asp.net validation

如何在C#中添加ASP.NET验证所有三个文本框都不为空,电话号码的格式为DDDD-DDDD,其中D为0 - 9?

<asp:TextBox ID="txtFirstName" runat="server"></asp:TextBox>
<asp:TextBox ID="txtLastName" runat="server"></asp:TextBox>
<asp:TextBox ID="txtPhoneNumber" runat="server"></asp:TextBox>

3 个答案:

答案 0 :(得分:0)

使用RequiredFieldValidatorReguralExpressionValidator控件。

RequiredFieldValidator服务器控件确保用户在表单中与其关联的字段中输入内容。您需要将RequiredFieldValidator绑定到表单中必填字段的每个控件。

RegularExpressionValidator服务器控件是一个验证控件,可让您根据正则表达式定义的模式检查用户的输入。


参考:

Validating ASP.NET Server Controls

答案 1 :(得分:0)

标记:

<table>
<tr>
<td><asp:TextBox ID="txtFirstName" runat="server" /></td>
<td><asp:RequiredFieldValidator runat="server" ControlToValidate="txtFirstName" Display="Dynamic" ValidationGroup="group"></asp:RequiredFieldValidator></td>
<td><asp:RegularExpressionValidator runat="server" ControlToValidate="txtFirstName" ValidationExpression="..." Display="Dynamic" ValidationGroup="group">*</asp:RegularExpressionValidator></td>
</tr>
<!-- do the same 2 times more -->
</table>
我猜是

The RegEx

^\d{4,4}-\d{4,4}$

或(如果您不想生成可变数字的数字,例如2到4):

^\d\d\d\d-\d\d\d\d$

意味着什么:

line begin
4 digits, not more or less
dash
4 digits, not more or less
line end

答案 2 :(得分:0)

您是否尝试过自己解决此问题?文档很容易找到:

http://msdn.microsoft.com/en-us/library/aa479013.aspx

您需要使用必填字段验证器 - 如下所示:

 <asp:RequiredFieldValidator 
         id="RequiredFieldValidator1" runat="server" 
         ErrorMessage="Required!" 
         ControlToValidate="txtFirstName">

您还需要一个正则表达式验证器,例如:

<asp:RegularExpressionValidator id="RegularExpressionValidator1" 
   runat="server" ControlToValidate="txtPhoneNumber" 
    ErrorMessage="wrong!" 
    ValidationExpression="^\d\d\d\d-\d\d\d\d$">
</asp:RegularExpressionValidator>

NB reg表达式的工具箱内置了许多,包括大多数电话号码格式。我只想使用其中一个。

editor