ASP.NET六大常用验证控件的使用方法

来源:互联网 发布:个人记功软件 编辑:程序博客网 时间:2024/05/16 09:55
 

ASP.NET六大常用验证控件的使用方法
ASP.NET功能强大的一种体现就是具有丰富的Web控件,这里我们谈谈其中的一种—验证控件

。它总结了各种Web数据校验方式,设计成了今天这种通用的ASP.NET控件形式。

ASP.NET公有六种验证控件,分别如下: 
控件名 功能描叙
RequiredFieldValidator(必须字段验证) 用于检查是否有输入值
CompareValidator(比较验证) 按设定比较两个输入
RangeValidator(范围验证) 输入是否在指定范围
RegularExpressionValidator(正则表达式验证) 正则表达式验证控件
CustomValidator(自定义验证) 自定义验证控件
ValidationSummary(验证总结) 总结验证结果


--------------------------------------------------------------------------------

目录
1. 验证控件简介
2. 验证控件的使用方法

--------------------------------------------------------------------------------

1. 验证控件简介
顾名思义,验证控件就是校验用户输入数据正确性的控件,如用户在文本框中输入数据后,

便显示一条提示信息,表明了校验的数据是不合法的。验证过程既可以在服务器上执行,也

可以在客户机上执行,在客户端运行的校验代码是数据提交之前被执行的,因此可以提高程

序的性能。ASP.NET的验证控件可以进行多种校验,如数据范围检查、数据间的比较和自定义

校验等等,下面的内容将会逐一介绍这些验证控件。

--------------------------------------------------------------------------------

2. 验证控件的使用方法


① RequiredFieldValidator控件
当页面上的控件要求必须输入数据时,RequiredFieldValidator就起作用了,

ControlToValidate属性选择需要验证的控件,而ErrorMessage属性则是校验不合法后显示的

错误提示信息。

 1 <HTML> 2   <HEAD> 3     <title>RequiredFieldValidator Example</title> 4   </HEAD> 5  <BODY> 6   <form id="Form1" runat="server"> 7     Name: 8     <asp教程:TextBox id="TextBox1" runat="server" ></asp:TextBox> 9     <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" 10 ErrorMessage="Please enter your name"11 ControlToValidate="TextBox1"></asp:RequiredFieldValidator>12     <asp:Button id="Button1"  runat="server" Text="Button"></asp:Button>13   </form>14  </BODY>15  </HTML>
在以上标准代码中:
  ControlToValidate:表示要进行检查控件ID;
  ErrorMessage:表示当检查不合法时,出现的错误信息;
  Display:错误信息的显示方式;Static表示控件的错误信息在页面中占有肯定位置;

Dymatic表示控件错误信息出现时才占用页面控件;None表示错误出现时不显示,但是可以在

ValidatorSummary中显示;
  占位符:表示Display为Static时,错误信息占有"占位符"那么大的页面空间

②CompareValidator控件
CompareValidator控件是用来比较两个输入控件之间的数据一致性的,同时也可以用来校验

控件中内容的数据类型:如整形、字符串型等。ControlToCompare和ControlToValidate属性

用来设置进行比较的两个控件。

 1 <HTML> 2   <HEAD> 3     <title>CompareValidator Example</title> 4   </HEAD> 5  <BODY> 6   <form id="Form1" runat="server"> 7     <P>Password: 8     <asp:TextBox id="txtPwd" runat="server" 9 TextMode="Password"></asp:TextBox><BR>10     Confirm:11     <asp:TextBox id="TxtCfm" runat="server"12 TextMode="Password"></asp:TextBox></P>13     <P>14     <asp:Button id="Button2" runat="server" Text="Button"></asp:Button>15     <asp:CompareValidator id="CompareValidator1" runat="server"16 ErrorMessage="Password Error!" 17      ControlToValidate="TxtCfm"18 ControlToCompare="txtPwd"></asp:CompareValidator></P>19   </form>20  </BODY>21  </HTML>
比较控件比较两个控件的输入是否符合程序设定,大家不要把比较仅仅理解为"相等",尽管

相等是用的最多的,其实,这里的比较包括范围很广,大家看标准代码就会明白。
  比较控件的标准代码如下:


在以上标准代码中:
  Type表示要比较的控件的数据类型;
  Operator表示比较操作(也就是刚才说的为什么比较不仅仅是"相等"的原因),这里,

比较有7种方式;
  其他属性和RequiredFieldValidator相同;
  在这里,要注意ControlToValidate和ControlToCompare的区别,如果operate为

GreateThan,那么,必须ControlToCompare大于ControlToValidate才是合法的,这下,应该

明白它们两者的意义了吧?例子程序请参考RequiredFieldValidator控件,对照标准代码自

己设计。

③RangeValidator控件
RangeValidator控件可以用来判断用户输入的值是否在某一特定范围内,属性MaximumValue

和MinimumValue用来设定范围的最大和最小值。

 1 <HTML> 2   <HEAD> 3     <title>RangeValidator Example</title> 4   </HEAD> 5  <BODY> 6   <form id="Form1" runat="server"> 7   <P>Age: 8   <asp:TextBox id="TxtAge" runat="server"></asp:TextBox> 9   <asp:RangeValidator id="RangeValidator1" runat="server"10 ControlToValidate="TxtAge" 11    ErrorMessage="Age Error!" MaximumValue="99"12 MinimumValue="1"></asp:RangeValidator></P>13   </form>14  </BODY>15  </HTML>
用MinimumValue和MaximumValue来界定控件输入值得范围,用type来定义控件输入值的类型


④RegularExpressionValidator控件
RegularExpressionValidator控件可以判断用户输入的表达式是否正确,如电话号码、邮编

、URL等,ControlToValidate属性选择需要验证的控件,ValidationExpression属性则编写

需要验证的表达式的样式,下面的例子就是一段校验邮编的代码。

 1 <HTML> 2   <HEAD> 3     <title>RegularExpressionValidator Example</title> 4   </HEAD> 5  <BODY> 6   <form id="Form1" runat="server"> 7   <P>Postal Code: 8   <asp:TextBox id="TxtPostalCode" runat="server"></asp:TextBox> 9   <asp:RegularExpressionValidator id="RegularExpressionValidator1" runat="server" 10        ControlToValidate="TxtPostalCode" ErrorMessage="Postal Code Error!"    11        ValidationExpression="d6}"></asp:RegularExpressionValidator></P>12   </form>13  </BODY>14  </HTML>
在以上标准代码中,ValidationExpression是重点,现在来看看它的构造:
  在ValidationExpression中,不同的字符表示不同的含义:
  "."表示任意字符;
  "*"表示和其他表达式一起,表示容易组合;
  "[A-Z]"表示任意大写字母;
  "d"表示容易一个数字;
  注意,在以上表达式中,引号不包括在内;
  举例:
   正则表达式:".*[A-Z]"表示数字开头的任意字符组合其后接一个大写字母

⑤CustomValidator控件
CustomValidator控件用于执行用户自定义的验证,这种校验既可以是服务器端的也可以是客

户端的,下面的代码就是使用客户端验证邮编的例子。

 1 <HTML> 2   <HEAD> 3     <title>CustomValidator Example</title> 4   </HEAD> 5  <BODY> 6   <form id="Form1" runat="server"> 7     <P>Postal Code: 8     <asp:TextBox id="TextBox1" runat="server"></asp:TextBox> 9     <asp:CustomValidator id="CustomValidator1" runat="server"10 ControlToValidate="TextBox1"  11          ErrorMessage="CustomValidator" 12 ClientValidationFunction="ClientValidate">13     </asp:CustomValidator></P>14   </form>15  </BODY>16  </HTML>17  <script language="vbscript">18    Sub ClientValidate(source, arguments)19       If isnumeric(arguments.Value ) and len(arguments.Value)=6 Then20          arguments.IsValid=true21       Else22          arguments.IsValid=false23       End If24    End Sub25  </script>
⑥ValidationSummary控件
这个控件会将页面中所有的校验错误输出为一个列表,列表的显示方式由DisplayMode属性设

置。

 1 <HTML> 2   <HEAD> 3     <title>ValidationSummary Example</title> 4   </HEAD> 5 <body> 6   <form id="Form1" runat="server"> 7   <P>Age: 8   <asp:TextBox id="TxtAge" runat="server"></asp:TextBox> 9   <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server"10  ControlToValidate="TxtAge" ErrorMessage="Age Error!"11 Display="None"></asp:RequiredFieldValidator><BR>12   Postal Code:13   <asp:TextBox id="TxtPostalCode" runat="server"></asp:TextBox>14   <asp:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" 15 ControlToValidate="TxtPostalCode" ErrorMessage="Postal Code Error!" 16 Display="None"></asp:RequiredFieldValidator></P>17   <P>18   <asp:Button id="Button1" runat="server" Text="Button"></asp:Button></P>19   <P>20   <asp:ValidationSummary id="ValidationSummary1" runat="server" 21    HeaderText="You must enter a value in the following22 fields:"></asp:ValidationSummary></P>23   </form>24 </body>25 </HTML>

原创粉丝点击