注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Start Know

自分を信じて、自分で一定でいけます

 
 
 

日志

 
 

使用 ASP.NET 的验证控件   

2008-09-10 12:26:58|  分类: .net |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

ASP.NET功能强大的一种体现就是具有丰富的Web控件,这里我们谈谈其中的一种—验证控件。它总结了各种Web数据校验方式,设计成了今天这种通用的ASP.NET控件形式。

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

目录

1. 验证控件简介

2. 验证控件的使用方法

3. 小结

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

1. 验证控件简介

顾名思义,验证控件就是校验用户输入数据正确性的控件,如用户在文本框中输入数据后,便显示一条提示信息,表明了校验的数据是不合法的。验证过程既可以在服务器上执行,也可以在客户机上执行,在客户端运行的校验代码是数据提交之前被执行的,因此可以提高程序的性能。ASP.NET的验证控件可以进行多种校验,如数据范围检查、数据间的比较和自定义校验等等,下面的内容将会逐一介绍这些验证控件。

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

2. 验证控件的使用方法

① RequiredFieldValidator控件

当页面上的控件要求必须输入数据时,RequiredFieldValidator就起作用了,ControlToValidate属性选择需要验证的控件,而ErrorMessage属性则是校验不合法后显示的错误提示信息。

<HTML>

  <HEAD>

    <title>RequiredFieldValidator Example</title>

  </HEAD>

<BODY>

  <form id="Form1" runat="server">

    Name:

    <asp:TextBox id="TextBox1" runat="server" ></asp:TextBox>

    <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server"

ErrorMessage="Please enter your name" ControlToValidate="TextBox1"></asp:RequiredFieldValidator>

    <asp:Button id="Button1"  runat="server" Text="Button"></asp:Button>

  </form>

</BODY>

</HTML>

②CompareValidator控件

CompareValidator控件是用来比较两个输入控件之间的数据一致性的,同时也可以用来校验控件中内容的数据类型:如整形、字符串型等。ControlToCompare和ControlToValidate属性用来设置进行比较的两个控件。

<HTML>

  <HEAD>

    <title>CompareValidator Example</title>

  </HEAD>

<BODY>

  <form id="Form1" runat="server">

    <P>Password:

    <asp:TextBox id="txtPwd" runat="server" TextMode="Password"></asp:TextBox><BR>

    Confirm:

    <asp:TextBox id="TxtCfm" runat="server" TextMode="Password"></asp:TextBox></P>

    <P>

    <asp:Button id="Button2" runat="server" Text="Button"></asp:Button>

    <asp:CompareValidator id="CompareValidator1" runat="server" ErrorMessage="Password Error!"

     ControlToValidate="TxtCfm" ControlToCompare="txtPwd"></asp:CompareValidator></P>

  </form>

</BODY>

</HTML>

③RangeValidator控件

RangeValidator控件可以用来判断用户输入的值是否在某一特定范围内,属性MaximumValue和MinimumValue用来设定范围的最大和最小值。

<HTML>

  <HEAD>

    <title>RangeValidator Example</title>

  </HEAD>

<BODY>

  <form id="Form1" runat="server">

  <P>Age:

  <asp:TextBox id="TxtAge" runat="server"></asp:TextBox>

  <asp:RangeValidator id="RangeValidator1" runat="server" ControlToValidate="TxtAge"

   ErrorMessage="Age Error!" MaximumValue="99" MinimumValue="1"></asp:RangeValidator></P>

  </form>

</BODY>

</HTML>

④RegularExpressionValidator控件

RegularExpressionValidator控件可以判断用户输入的表达式是否正确,如电话号码、邮编、URL等,ControlToValidate属性选择需要验证的控件,ValidationExpression属性则编写需要验证的表达式的样式,下面的例子就是一段校验邮编的代码。

<HTML>

  <HEAD>

    <title>RegularExpressionValidator Example</title>

  </HEAD>

<BODY>

  <form id="Form1" runat="server">

  <P>Postal Code:

  <asp:TextBox id="TxtPostalCode" runat="server"></asp:TextBox>

  <asp:RegularExpressionValidator id="RegularExpressionValidator1" runat="server"

       ControlToValidate="TxtPostalCode" ErrorMessage="Postal Code Error!"   

       ValidationExpression="\d6}"></asp:RegularExpressionValidator></P>

  </form>

</BODY>

</HTML>

⑤CustomValidator控件

CustomValidator控件用于执行用户自定义的验证,这种校验既可以是服务器端的也可以是客户端的,下面的代码就是使用客户端验证邮编的例子。

<HTML>

  <HEAD>

    <title>CustomValidator Example</title>

  </HEAD>

<BODY>

  <form id="Form1" runat="server">

    <P>Postal Code:

    <asp:TextBox id="TextBox1" runat="server"></asp:TextBox>

    <asp:CustomValidator id="CustomValidator1" runat="server" ControlToValidate="TextBox1" 

         ErrorMessage="CustomValidator"  ClientValidationFunction="ClientValidate">

    </asp:CustomValidator></P>

  </form>

</BODY>

</HTML>

<script language="vbscript">

   Sub ClientValidate(source, arguments)

      If isnumeric(arguments.Value ) and len(arguments.Value)=6 Then

         arguments.IsValid=true

      Else

         arguments.IsValid=false

      End If

   End Sub

</script>

⑥ValidationSummary控件

这个控件会将页面中所有的校验错误输出为一个列表,列表的显示方式由DisplayMode属性设置。

<HTML>

  <HEAD>

    <title>ValidationSummary Example</title>

  </HEAD>

<body>

  <form id="Form1" runat="server">

  <P>Age:

  <asp:TextBox id="TxtAge" runat="server"></asp:TextBox>

  <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server"

 ControlToValidate="TxtAge" ErrorMessage="Age Error!" Display="None"></asp:RequiredFieldValidator><BR>

  Postal Code:

  <asp:TextBox id="TxtPostalCode" runat="server"></asp:TextBox>

  <asp:RequiredFieldValidator id="RequiredFieldValidator2" runat="server"

ControlToValidate="TxtPostalCode" ErrorMessage="Postal Code Error!"

Display="None"></asp:RequiredFieldValidator></P>

  <P>

  <asp:Button id="Button1" runat="server" Text="Button"></asp:Button></P>

  <P>

  <asp:ValidationSummary id="ValidationSummary1" runat="server"

   HeaderText="You must enter a value in the following fields:"></asp:ValidationSummary></P>

  </form>

</body>

</HTML> 

 

 

在asp.net 1.1中,对于验证类控件,在使用时,遇到有的不需要验证的控件时,是十分麻烦的,就是说不可能有选择验证某些控件,而在asp.net 2.0中,新增加了validationgroup属性,可以指定验证某些控件,例子如下:

<html>

<body>

     <form runat=“server”>

          <asp:textbox id=“TextBox1” runat=“server”/>

          <asp:requiredfieldvalidator ValidationGroup=“Group1”

                                                       ErrorText=“Need to Fill in Value!”

                                                       ControlToValidate=“TextBox1”

                                                       runat=“server”/>

 

            <asp:textbox id=“TextBox2” runat=“server”/>

           <asp:requiredfieldvalidator ValidationGroup=“Group2”

                                                         ErrorText=“Need to Fill in Value!”

                                                         ControlToValidate=“TextBox2”

                                                         runat=“server”/>

 

           <asp:button text=“Group1” ValidationGroup=“Group1” runat=“server”/>

            <asp:button text=“Group2” ValidationGroup=“Group2” runat=“server”/>

     </form>

</body>

</html>

  评论这张
 
阅读(456)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017