ASP.NET 的验证控件

前言
前一段时间,接触了asp.net ,以牛腩新闻发布系统为实践项目,其中学到了一些新的知识,其中就有关于验证的一些控件,在这里总结一下。
正文
1.requiredFieldValidator控件(空值验证):验证空间内是否有数据输入,它是非空验证控件。
属性:

  • ControlToValidate:必须赋值的属性,表示要进行验证的控件的ID
  • ErrorMessage:验证失败时显示的错误消息的文本
  • Display:错误消息的显示方式,该值是一个枚举值,有3个值:
  • Static,表示作为页面布局的物理组成部分验证程序内容
  • None,表示从不内联显示的验证程序内容
  • DyNamic,表示验证失败时动态添加到页面中的验证程序内容
  • EnableClientScript:指示是否启用客户端验证
    其中在我们的牛腩新闻发布系统中,使用的有其中几个属性。比如进行登录的时候,没有输入东西:

例子:判空

或者一个更加经典的:

 <p>用户名:<asp:TextBox ID="txtUserName" runat="server" CssClass="textbox"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="请输入用户名!" Text="*" ControlToValidate="txtUserName"></asp:RequiredFieldValidator>
 </p>
 <p>密         码:<asp:TextBox ID="txtpassword" runat="server" TextMode="Password" CssClass="textbox"></asp:TextBox>
 <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="请输入密码" Text="*" ControlToValidate="txtpassword"></asp:RequiredFieldValidator>
  </p>

2.CompareValidator控件(比较控件):对一个控件中的值与另一个空间中的值或者某个常数值进行比较。
属性:

  • ControlToValidate:表示要进行验证的控件的ID
  • CultureInvariantValues:该值指示是否在比较之前将值转换为非特定区域性格式
  • Operator:要执行的比较操作,该值是一个枚举值
  • Equal:相等;NotEqual:不相等
  • GreaterThanEqual:大于;GreaterThanEqual:大于等于
  • LessThan:小于;LessThanEqual:小于等于
  • DataTypeCheck:输入到验证控件中的值与BaseCompareValidator.Type属性指定的数据类型之间的数据类型比较,如果无法将该值转换为指定的数据类型,则验证失败
  • Type:在比较之前将所比较的值转换到的数据类型
  • RenderUplevel:该值指示客户端的浏览器是否支持“上一级”呈现
  • Text:验证失败时控件中显示的文本
  • ValueToCompare:该值要与验证控件中的值进行比较

例子:就是针对两次输入的密码不一致:

<tr>
    <td class="auto-style2" rowspan="2">
        比较验证</td>
    <td class="auto-style3">
        密码:</td>
    <td class="auto-style1">
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="TextBox2" ControlToValidate="TextBox3" ErrorMessage="两次密码不一致!" ForeColor="Red"></asp:CompareValidator>
    </td>
</tr>
<tr>
    <td class="auto-style3">
        重复密码:</td>
    <td class="auto-style1">
        <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
    </td>
</tr>

3.RangeValidator控件(范围验证):验证用户的输入是否在指定的范围内。它可以检查数字对、字幕对和日期对限定的范围,其中边界表示为常数。
属性:

  • MaximumValue:验证范围的最大值
  • MinimumValue:验证范围的最小值

例子:年龄是否超范围

<tr>
    <td class="auto-style2">范围验证</td>
    <td class="auto-style3">年龄:</td>
    <td class="auto-style1">
        <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
        <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="TextBox4" ErrorMessage="您的年龄不在注册范围内,请不要注册!" ForeColor="Red" MaximumValue="50" MinimumValue="20"></asp:RangeValidator>
    </td>
</tr>

4.RegularExpressionValidator控件(正则表达式):验证控件的值是否与某个正则表达式所定义的模式相匹配。通过这种类型的验证,可以检查可预知的字符序列,如身份证号码、点知邮件地址、电话号码、邮政编码等的字符序列。
正则表达式(ValidationExpression):是由普通字符与特殊字符组成的文字模式,该模式描述在查找文字主体时待匹配的一个活多个字符串,正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。ValidationExpression属性中用到的字符表示如下:

  • "\w"表示任何单字符匹配,包括下划线;
  • “+” 表示匹配前一个字符一次或多次;
  • “.” 表示任意字符;
  • “*” 表示和其他表达式一起,表示容易组合;
  • “[A-Z]” 表示任意大写字母;
  • “\d” 表示一个数字;
  • “^” 表示匹配输入的开始位置;
    (在以上表达式中,引号不包括在内)

例子:邮箱是否是正确的形式

<tr>
    <td class="auto-style2">正则表达式验证</td>
    <td class="auto-style3">邮箱:</td>
    <td class="auto-style1">
        <asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox5" ErrorMessage="请输入正确的邮箱地址!" ForeColor="Red" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
    </td>
</tr>

5.CustomValidator控件(自定义验证):自定义函数验证
属性:

  • ClientValidationFunction:验证的自定义客户端脚本函数的名称
  • ServarValidate:在服务器上执行验证时发生

例子:自定义函数

<tr>
    <td class="auto-style2">自定义验证</td>
    <td class="auto-style3">请任意填写一个偶数:</td>
    <td class="auto-style1">
        <asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>
        <asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="TextBox6" ErrorMessage="请输入偶数!" OnServerValidate ="CumstomValidator" ForeColor="Red"></asp:CustomValidator>
    </td>
</tr>

6.ValidationSummary控件(验证汇总):允许在单个位置概述网页上所有验证控件的错误消息。该控件的功能就是手机所有验证控件的错误信息然后显示到单个位置上。

  • Validationsummary控件有许多用于显示错误信息模式和显示错误信息方式的属性,这些属性是其它验证控件所不具备的,它的显示信息由每个验证控件的ErrorMessage属性指定的
  • displayMode:验证摘要的显示模式,是一个枚举值
  • List,验证摘要显示在列表中
  • BulletList:验证摘要显示在项目符号列表中
  • SingleParagraph:验证摘要显示在单个段落内
  • ShowMessageBox:是否在消息框中显示验证摘要
  • ShowSummary:是否内联显示验证摘要
  • HeaderText:显示控件标题

例子:验证信息都显示出来

<tr>
    <td class="auto-style4">验证信息汇总</td>
    <td class="auto-style5" colspan="2">
        <asp:ValidationSummary ID="ValidationSummary1" runat="server" ForeColor="Red" ShowMessageBox ="true" />
    </td>
</tr>

效果:

后记
有一点需要注意的是:验证控件按钮都有一个Validation Group属性,该属性用来设置验证组。即如果一个页面上有一个A按钮和B按钮,要求A按钮触发验证,单击B按钮不出发验证。正常情况下,单击任何一个按钮都会触发验证控件的验证操作,这显然是不对的。 这时候需要将A按钮和验证控件的Validation Group属性设置为同一个值,即可实现单击A按钮出发验证。 还有一个办法,就是设置B按钮的CauseValidation属性为False。
验证控件在ASP.net 中是比较基础的知识,我们可以经常的去温习,以后实践的时候也可以熟练的操作啦~

posted @ 2021-12-28 09:05  schaffery  阅读(202)  评论(0编辑  收藏  举报