ASP.NET验证控件小结

ASP.NET验证控件总结

ASP.NET支持以下验证控件

RequiredFieldValidator(非空验证)

    确保用户没有跳过输入控件。RequiredFieldValidator控件可以与文本框绑定在一起,以便强制用户对文本框进行输入。使用选择控件,例如,对于下拉框控件和单选按钮,RequiredFieldValidator都可确保用户选择使用,而不必使用指定的默认值。RequiredFieldValidator不检查数据的有效性,只是保证一些数据的输入或者被选择。

RangeValidator(范围验证)

     确保输入的数字在指定的范围内。您可以检查在一对数字之间的范围(大于10小于100之间),一对字符之间的范围(D与K之间的字符),或者一对日期之间的范围(1/1/01之后到2/28/01之前)

CompareValidator(比较验证)

     比较用户输入和其他数值。它可以和一个指定的时间比较,或者和另外的一个控件的属性值比较。同样可以与数据库中的值进行比较。

RegularExpressionValidator (正则表达式验证)

    它是最强大的验证控件之一,它可以把用户输入和提供的表达式进行比较。可以使用这个验证控件来检查有效的社会保险号码、电话号码、密码等等。

由于本次课程内容主要讨论验证控件,有关正则表达式大知识请查阅相关内容

CustomValidator(用户自定义验证)

    如果没有符合需要的控件,那么可以使用CustomValidator控件。它能够检查出用户的输入是否违背了由自定义方法所提供的算法。

ValidationSummary (验证错误显示集合)

     ValidationSummary控件是用于显示验证所有验证错误摘要的控件,当我们将验证控件的Display属性设置None的时候,验证错误信息就在这里显示。
ValidationSummary控件有三个常见属性:

属性名

说明

DisplayMode

指定显示模式,有BulletList、List、SingleParagraph三种模式

ShowMessageBox 

是否以客户端提示框的信息显示验证错误信息摘要

ShowSummary

 是否在网页中采用内联方式显示错误摘要

验证控件常用属性:

     通过将焦点放在第一个无效的验证控件上,可以使页面更友好。为此,可以为每个验证控件添加SetFocusOnError属性,并将其设置为true(默认为false)

注意 :当单击”提交”按钮时,页面会 被发送到服务器。每个验证控件都将被检查,如果每个控件都有效,那么页面的IsValid属性将返回true。

   由于验证控件的用法上网一搜一大把,我们就不再赘述了。

经验:高版本浏览器支持DHTML,.NET验证在客户端完成,这避免了返回服务端处理的过程。在低版本浏览器中。这些代码没有改变,但是代码必须发送到客户端,才能保证服务器端进行验证。甚至是在客户端验证完成后,数值才最终在服务器端验证,这也是一个安全的方法。如果控件无效,则必须强制执行服务器端验证。因为客户端验证将组织服务器端代码的运行在这种情况下课将ClientTarge属性添加到@page指令。<%@page ClientTarget=”downlevel”%>。这个指令将导致在服务器端执行验证,甚至在浏览器可以支持DHTML和客户端验证的情况下也是如此。

    有时候,无需进行任何验证,例如当单击了”Cancel”按钮。为此,许多回传空间,例如:ImageButton、LinkButton等,都有一个CauseValidation属性,该属性指示是否引发控件的默认事件时执行验证。如何CauseValiation属性设置为true,即默认值,那么当页面发生验证失败时,不会进行页面回传。然而,如果CauseValidation属性设置为false,那么用户回传页面的按钮将不执行验证过程。

    Display属性设置为Static,即告知ASP.NET,无论是否显示信息都必须为其分配页面空间。如果该属性设置为Dynamic,那么直到显示错误信息时才为其分配空间。动态分配功能很强大,但是当信息显示时,可能会导致控件在页面上跳转。