zoukankan      html  css  js  c++  java
  • 【ASP.NET】基础补习之验证控件

    在做Web应用程序的时候,因为用户有可能输入各式各样的信息,经常需要大量的数据验证,如果交给服务器去验证的话,无疑会增加服务器的压力,而且也容易造成程序的异常。甚至导致网站出现一些安全问题。因此我们在将这些信息保存到网站的数据库之前,要对这些用户所输入的信息进行数据的合法性校验,以便后面的程序可以安全顺利的执行。

    ASP.NET提供了六种验证控件,可以实现以上功能。

    • RequiredFieldValidator(必须字段验证)
    • CompareValidator(比较验证)
    • RangeValidator(范围验证)
    • RegularExpressionValidator(正则表达式验证)
    • CustomValidator(自定义验证)
    • ValidationSummary(验证总结)

     

    验证控件基本成员:

    • ControlToValidate – 要进行验证控件ID
    • ErrorMessage – 验证失败时,出现的错误信息
    • IsValid – 返回布尔值判断控件是否有效
    • Validate – 验证控件的方法,同时改变IsValid属性
    • Display– 错误信息的显示方式
      • None (控件的错误信息在页面中占有肯定位置)
      • Static (控件的错误信息出现时才占用页面控件.)
      • Dynamic (错误出现时不显示.)

     The RequiredFieldValidation Control

    用于检查是否有输入值。用法如下:

           Required field: <asp:textbox id="textbox1" runat="server"/>
    <asp:RequiredFieldValidator id="valRequired" runat="server" ControlToValidate="textbox1"
        ErrorMessage="* You must enter a value into textbox1" Display="dynamic">*
    </asp:RequiredFieldValidator>

    以上例子,实现当用户在textbox1中输入数据后,提交才会有效,否则激活验证控件显示错误信息。

    The CompareValidator Control

    按设定比较两个输入。CompareValidator可以用来验证注册时对密码的确认等。法如下:

    Textbox 1: <asp:textbox id="textbox2" runat="server"/><br />
    Textbox 2: <asp:textbox id="textbox3" runat="server"/><br />
    <asp:CompareValidator id="valCompare" runat="server"
        ControlToValidate="textbox1" ControlToCompare="textbox2"
        Operator="Equals"
        ErrorMessage="* You must enter the same values into textbox 1 and textbox 2"
        Display="dynamic">*
    </asp:CompareValidator>

    上面例子验证textbox1和textbox2必须一致,两个控件根据Operator属性进行比较。Operator属性可以设定为Equal, GreterThan, LessThanOrEqual等。CompareValidator的另一个用法是和一个固定值比较:

    Field: <asp:textbox id="textbox4" runat="server"/>
    <asp:CompareValidator id="CompareValidator1" runat="server" ControlToValidate="textbox1"
        ValueToCompare="50"
        Type="Integer"
        Operator="GreaterThan"
        ErrorMessage="* You must enter the a number greater than 50" Display="dynamic">*
    </asp:CompareValidator>

    数据类型可以是Currency, Double, Date, Integer , String。String是默认属性。

    The RangeValidator Control

    验证输入是否在指定的范围。有三个必要的属性MaximumValue, MinimumValue, 和Type.

    Enter a date from 1998:
    <asp:textbox id="textbox5" runat="server"/>
    <asp:RangeValidator id="valRange" runat="server"
        ControlToValidate="textbox1"
        MaximumValue="12/31/1998"
        MinimumValue="1/1/1998"
        Type="Date"
        ErrorMessage="* The date must be between 1/1/1998 and 12/13/1998" Display="static">*</asp:RangeValidator>

    The RegularExpressionValidator Control

    根据正则表达式验证。利用正则表达式可以灵活的对控件进行验证。正则表达式是一个优秀程序员必须掌握的技能之一。有关正则表的式的学习请参考
    http://www.regexlab.com/zh/regref.htm

    下面是一个简单的验证邮箱地址格式的例子:

    E-mail: <asp:textbox id="textbox6" runat="server"/>
    <asp:RegularExpressionValidator id="valRegEx" runat="server"
        ControlToValidate="textbox1"
        ValidationExpression=".*@.*\..*"
        ErrorMessage="* Your entry is not a valid e-mail address."
        display="dynamic">*
    </asp:RegularExpressionValidator> 

    The CustomValidator Control

    自定义验证控件,该控件用自定义的函数界定验证方式。ClientValidationFunction指定一个包含在html中的客户端验证函数。OnServerValidate是服务器端验证函数。

    Field: <asp:textbox id="textbox7" runat="server">
    <asp:CustomValidator id="valCustom" runat="server"
        ControlToValidate="textbox1"
        ClientValidationFunction="ClientValidate"
        OnServerValidate="ServerValidate"
        ErrorMessage="*This box is not valid" dispaly="dynamic">*
    </asp:CustomValidator>

    <script language="Javascript">
    <!--
        /* ... Code goes here ... */
    -->
    </script>

    服务器验证函数

    Sub ServerValidate (objSource As Object, objArgs As ServerValidateEventsArgs)
        ' Code goes here
    End Sub

    Validation Summary

    总结验证结果。显示 Web 页上所有验证错误的列表。她的用法如下:

    <asp:ValidationSummary id="valSummary" runat="server"
        HeaderText="Errors:"
        ShowSummary="true" DisplayMode="List" />

    validation summary控件收集本页的所有验证错误信息,并可以将它们组织以后再显示出来。

    (ShowMessageBox="True")

    相关源码



  • 相关阅读:
    PL/SQL 训练05--游标
    PL/SQL 训练04--事务
    PL/SQL 训练03 --异常
    PL/SQL 训练02--集合数组
    PL/SQL 训练01--基础介绍
    25 mysql怎么保证高可用
    pt工具之pt-archiver
    Oracle日常性能问题查看
    Oracle的cursor
    Oracle 索引扫描的几种情况
  • 原文地址:https://www.cnblogs.com/sekihin/p/814203.html
  • Copyright © 2011-2022 走看看
    Creative Commons License 本作品采用 知识共享署名-非商业性使用 2.5 中国大陆许可协议进行许可。