.NET验证控件完整整理

    asp.net的验证控件都派生自BaseValidator这个抽象类。BaseValidator类有常见属性有:

属性名说明
ControlToValidate待验证的控件的ID。必须指定。
Display错误信息的显示方式。
1)有None(将错误信息集中到ValidationSummary控件中显示)
2)Static(默认,始终为错误信息分配显示空间)
3)Dynamic(只在需要的时候才为错误信息分配显示空间)
EnableClientScript是否启用客户端验证
Enabled是否启用验证控件
ErrorMessage验证失败时显示的信息
IsValid关联的控件是否通过验证
SetFocusOnError当验证失败时是否将焦点移动到关联的控件上
Text验证失败时在验证控件中要显示的信息。与Display为None是配合使用。
ValidationGroup验证控件所在的分组名

    asp.net验证控件对以下类型的.net控件的值进行验证:

控件名要验证的属性备注
DropDownListSelectedValue验证选中项的值
FileUploadFileName验证要上传的文件名
ListBoxSelectedItem.Value验证选中的第一项的值
RadioButtonListSelectedItem.Value验证选中项的值
TextBoxText验证文本框的值
HtmlInputFileValue验证HTML服务器上传控件中的文件名
HtmlInputPasswordValue 验证HTML服务器文本控件的值
HtmlInputText Value验证HTML服务器文本控件的值
HtmlSelectValue验证HTML服务器下拉控件选中的值
HtmlTextAreaValue验证HTML服务器多行文本控件的值

    验证控件主要介绍:

    1)RequiredFieldValidator控件 (必填验证控件)

    主要验证TextBox、DropDownList控件。
    一个比较重要的属性:InitialValue,默认值是String.Empty,如果控件的值与它的默认值一致就不能通过验证,在验证DropDownList控件的时候我们也可以使用该属性。

[c-sharp]  view plain copy
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head runat="server">  
  4.     <title></title>  
  5. </head>  
  6. <body>  
  7.     <form id="form1" runat="server">  
  8.     <div>  
  9.         <table style="width:100%;">  
  10.             <tr>  
  11.                 <td>  
  12.                     用户名:</td>  
  13.                 <td>  
  14.                     <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>  
  15.                     <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="用户名不能为空" ControlToValidate="txtUserName"></asp:RequiredFieldValidator>  
  16.                 </td>  
  17.             </tr>  
  18.             <tr>  
  19.                 <td>  
  20.                     省 份:</td>  
  21.                 <td>  
  22.                     <asp:DropDownList ID="ddlState" runat="server">  
  23.                         <asp:ListItem Selected="True">请选择</asp:ListItem>  
  24.                         <asp:ListItem Value="1">山西</asp:ListItem>  
  25.                     </asp:DropDownList>  
  26.                     <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="请选择省份" ControlToValidate="ddlState" InitialValue="请选择"></asp:RequiredFieldValidator>  
  27.                 </td>  
  28.             </tr>  
  29.             <tr>  
  30.                 <td>  
  31.                     <asp:Button ID="btnOK" runat="server" Text="提交" />  
  32.                 </td>  
  33.                 <td>  
  34.                     <asp:Button ID="reset" runat="server" Text="撤销" />  
  35.                 </td>  
  36.             </tr>  
  37.         </table>  
  38.     </div>  
  39.     </form>  
  40. </body>  
  41. </html>  

    2)CompareValidator控件 (比较验证控件)

    自定义属性有:

属性名说明
ControlToCompare要与所验证的输入控件进行比较的输入控件的ID
Operator要执行的比较操作
<(LessThan)、<=(LessThanEqual)、!= (NotEqual)、=(Equal)、>(GreaterThan)及>=(GreaterThanEqual)
Type

对控件的值按照哪种方式进行比较,默认String

类型说明
Currency按货币类型比较,小数点后最多两位数字
Date按日期类型比较(不带时分秒)
Double按浮点数类型比较
Integer 按整数类型比较
String按字符串类型比较

ValueToCompare设置要与所验证的控件的值进行比较的值。与ControlToCompare属性不能同时使用。

    3)RangeValidator控件 (范围验证控件)

    自定义属性有:

属性名说明
MaximumValue允许的最大值
MinimumValue允许的最小值
Operator要执行的比较操作
Type对控件的值按照哪种方式进行比较,默认String

[c-sharp]  view plain copy
  1. 开始时间  
  2. <asp:TextBox ID="txtStartDate" runat="server"></asp:TextBox>   
  3. <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtStartDate"   
  4.     ErrorMessage="用户名必须填写"></asp:RequiredFieldValidator>   
  5. <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="开始日期必须早于结束日期" ControlToCompare="txtStartDate" ControlToValidate="txtEndDate" Operator="GreaterThanEqual" Type="Date"></asp:CompareValidator>   
  6. 结束时间  
  7. <asp:TextBox ID="txtEndDate" runat="server"></asp:TextBox>   
  8. <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtEndDate"   
  9.     ErrorMessage="请填写结束时间"></asp:RequiredFieldValidator>   
  10.   
  11. 参加人数   
  12. <asp:TextBox ID="txtNumber" runat="server"></asp:TextBox>   
  13. <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtNumber"   
  14.        ErrorMessage="必须填写人数"></asp:RequiredFieldValidator>   
  15. <asp:CompareValidator ID="CompareValidator2" runat="server" ControlToValidate="txtNumber"   
  16.        ErrorMessage="人数必须大于0" Operator="GreaterThan" Type="Integer" ValueToCompare="0"></asp:CompareValidator></td></tr>   

    4)RegularExpressionValidator控件 (正则控件)

    常用属性ValidationExpression,是用来设置用于匹配所要验证控件的值的正则表达式。

    正则表达式有由两种基本字符类型组成:原义(正常)文本字符和元字符。一些常见元字符(针对单个字符匹配):

元字符说明
.匹配除 /n 以外的任何字符。
[abcde]匹配abcde之中的任意一个字符
[a-h]匹配a到h之间的任意一个字符
[^fgh]不与fgh之中的任意一个字符匹配
/w匹配大小写英文字符及数字0到9之间的任意一个,相当于[a-zA-Z0-9]
/W不匹配大小写英文字符及数字0到9之间的任意一个,相当于[^a-zA-Z0-9]
/s匹配任何空白字符,相当于[ /f/n/r/t/v]
/S匹配任何非空白字符,相当于[^/s]
/d匹配任何0到9之间的单个数字,相当于[0-9]
/D不匹配任何0到9之间的单个数字,相当于[^0-9]

    针对多个字符匹配的元字符有:

限定浮说明
*匹配0到多个元字符,相当于{0,}
?匹配0到1个元字符,相当于{0,1}
{n}匹配n个元字符
{n,}匹配至少n个元字符
{n,m}匹配n到m个元字符
+匹配至少1个元字符,相当于{1,}
^字符串必须以指定的字符开始
$字符串必须以指定的字符结束

    简单举例说明:

[c-sharp]  view plain copy
  1. 真实姓名:  
  2. <asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>   
  3. <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtUserName" ErrorMessage="姓名必须填写" Display="Dynamic"></asp:RequiredFieldValidator>   
  4. <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="姓名是2到4个汉字" ControlToValidate="txtUserName" Display="Dynamic" ValidationExpression="[/u4e00-/u9fa5]{2,4}"></asp:RegularExpressionValidator>   
  5. 手机号:  
  6. <asp:TextBox ID="txtMobile" runat="server"></asp:TextBox>   
  7. <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtMobile" ErrorMessage="姓名必须填写" Display="Dynamic"></asp:RequiredFieldValidator>   
  8. <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="txtMobile" ErrorMessage="不正确的手机号" ValidationExpression="((13[0-9])|(15[89]))/d{8}"></asp:RegularExpressionValidator>  

    5)ValidationSummary控件 (显示所有验证错误摘要的控件,必须将Display属性设置None才能显示到这里)

    常用属性有:

属性名说明
DisplayMode指定显示模式,有BulletList、List、SingleParagraph三种模式
ShowMessageBox 是否以客户端提示框的信息显示验证错误信息摘要
ShowSummary 是否在网页中采用内联方式显示错误摘要
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值