asp.net验证控件
在asp.net中,有这样几个web控件:
-RequiredFiledValidator
-CompareValidator
-RangeValidator
-RegularExpressionValidator
-CustomerValidator
-ValidationSummary
这几个控件有几个共同属性:ControlToValidator(验证控件将验证的输入控件的ID),Dispaly(指示控件显示的行为),EnabledClientScript(指示是否启用客
户端验证),ErrorMessage(验证失败时在ValidatorSummary显示的错误信息),SetFocusOnError(验证失败时是否设置控件焦点),IsValid(指示控件输
入是否有效),ValidationGroup(验证控件所属的组名)……
一般说来:
-----RequiredFiledValidator(确保用户输入了值的控件)属性有:ContrloToValidator,Text,ErroeMessage
-----CompareValidator(控件值比较,可以是控件的输入值跟具体值之间比较,也可以是控件跟控件的值比较):
CompareValidator,CompareValidator,Operator,ValueToCompare.
-----RangeValidator(范围之间的值比较):MaximumValue,MinimumValue,Text
-----RegularExpressValidator(使用正则表达式判断输入的值是否符合规定):ValidationExpression.
正则表达式提供了灵活的,功能强大而又效率高的方法来处理文本,正则表达式的全面匹配表示法可以使你快速的分析大量的文本以找到特定的字符模式。提取,编
辑,删除或替换字符串。Microsoft.Net FrameWork正则表达式并入了其他正则表达式实现的最常见功能。
正则表达式由:原义文本字符和元字符。元字符使正则表达式具有处理能力。
?代表单个字符
*代表多个字符
*.doc代表所有doc文件
[字符分组] 匹配指定字符内的任何字符
[^字符分组] 不在指定字符内的任何字符
[第一个字符-最后一个字符] 匹配字符范围内的任何字符
\w 任何单词字符匹配
\W 与任何非单词字符匹配
\s 与任何空白字符匹配
\S 与任何非空白字符匹配
\d 与任何十进制数字匹配
\D 与任何非十进制数字匹配
------CustomerValidator控件允许用户自定义逻辑创建验证控件 :OnServerValidate,Validate,事件有ServerValidate。
附带代码以及图例:
<tr>
<td class="style6"></td>
<td class="style6" >密码</td>
<td class="style6" >
<asp:TextBox ID="passwordTextBox" runat="server" Height="17px" Width="100%"
TextMode="Password"></asp:TextBox>
</td>
<td class="style6">
<asp:RequiredFieldValidator ControlToValidate="passwordTextBox" runat="server"
ID="pswRfv" Text="*" ErrorMessage="密码不能为空" ValidationGroup="ok"></asp:RequiredFieldValidator>
</td>
<td class="style6"></td>
</tr>
<tr>
<td class="style6"></td>
<td class="style6">重复密码</td>
<td class="style6" >
<asp:TextBox ID="pswagainTextBox" runat="server" Height="17px" Width="100%"
TextMode="Password"></asp:TextBox>
</td>
<td class="style6">
<asp:RequiredFieldValidator ControlToValidate="pswagainTextBox" runat="server"
ID="pswRfv2" Text="*" ErrorMessage ="必须重复输入密码" ValidationGroup="ok"></asp:RequiredFieldValidator>
<asp:CompareValidator ControlToValidate="pswagainTextBox"
ControlToCompare="passwordTextBox" runat="server" ID="psw2" Text="*"
ErrorMessage="两次密码输入不一致" ValueToCompare="ok"></asp:CompareValidator>
</td>
<td class="style6"></td>
</tr>
<tr>
<td class="style6"></td>
<td class="style6">性别</td>
<td class="style6">
<asp:DropDownList ID="sexDropDownList" runat="server"
Width="100%">
<asp:ListItem Selected="True">男</asp:ListItem>
<asp:ListItem>女</asp:ListItem>
</asp:DropDownList>
</td>
<td class="style6"></td>
<td class="style6"></td>
</tr>
<tr>
<td class="style6"></td>
<td class="style6" >身份证号</td>
<td class="style6">
<asp:TextBox ID="idCardTextBox" runat="server" Height="17px" Width="100%"></asp:TextBox>
</td>
<td class="style6">
<asp:RequiredFieldValidator ControlToValidate="idCardTextBox" runat="server"
ID="id" Text="*" ErrorMessage="身份证号码不能为空" ValidationGroup="ok"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ControlToValidate="idCardTextBox" runat="server"
ID="idCheck" Text="*" ErrorMessage="身份证号不符合规则"
ValidationExpression="\d{17}[\d|X]|\d{15}" ValidationGroup="ok">*</asp:RegularExpressionValidator>
</td>
<td class="style6"></td>
</tr>
<tr>
<td class="style6"></td>
<td class="style6">联系方式</td>
<td class="style6">
<asp:TextBox ID="telTextBox" runat="server" Height="17px" Width="100%"></asp:TextBox>
</td>
<td class="style6" >
<asp:RequiredFieldValidator ControlToValidate="telTextBox" runat="server" ID="tel"
Text="*" ErrorMessage="联系方式不能为空" ValidationGroup="ok"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ControlToValidate="telTextBox" runat="server"
ID="telCheck" Text="*" ErrorMessage="联系方式填写错误"
ValidationExpression="(\(\d{3}\)|\d{3}-)?\d{8}" ValidationGroup="ok">*</asp:RegularExpressionValidator>
</td>
<td class="style6" ></td>
</tr>
<tr>
<td class="style6"></td>
<td class="style6">住址</td>
<td class="style6">
<asp:TextBox ID="addressTextBox" runat="server" Height="17px" Width="100%"></asp:TextBox>
</td>
<td class="style6">
<asp:RequiredFieldValidator ControlToValidate="addressTextBox" runat="server"
ID="address" Text="*" ErrorMessage="必须输入地址" ValidationGroup="ok"></asp:RequiredFieldValidator>
</td>
<td class="style6"></td>
</tr>
没任何字符输入,没有提交时:
不输入任何字符,提交后:
输入错误的部分信息后: