服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - ASP教程 - ASP.NET 验证器

ASP.NET 验证器

2023-05-08 03:22未知服务器之家 ASP教程

验证器 ASP.NET 的有效性控制是验证用户输入的数据从而确保那些无用的、未经授权的、矛盾的数据不能被存储。 ASP.NET 提供了如下几个方面的验证控制: 必要字段验证器(RequiredFieldValidator) 范围验证器(RangeValidator) 比较验证器

验证器

ASP.NET 的有效性控制是验证用户输入的数据从而确保那些无用的、未经授权的、矛盾的数据不能被存储。

ASP.NET 提供了如下几个方面的验证控制:

  • 必要字段验证器(RequiredFieldValidator)
  • 范围验证器(RangeValidator)
  • 比较验证器(CompareValidator)
  • 正则表达式验证器(RegularExpressionValidator)
  • 自定义验证器(CustomValidator)
  • 验证摘要控件(ValidationSummary)

BaseValidator 类

有效性验证的类从 BaseValidator 类中继承得到,因此它们继承了它的属性和方法。因此学习这个作为所有有效性控制的基础的基本类的属性和方法对于后续学习将有很大帮助:

组成部分描述
ControlToValidate获取或设置要验证的输入控件。
Display说明错误提示如何显示。
EnableClientScript说明客户端的是否采取了验证。
Enabled开启或者关闭验证器。
ErrorMessage说明错误字符串。
Text如果验证失败将要显示的文本。
IsValid说明控制值是否有效。
SetFocusOnError在验证失败时是否将焦点设置到相关的输入控件上。
ValidationGroup获取或设置此验证控件所属的验证组的名称。
Validate对关联的输入控件执行验证并更新 IsValid 属性。

RequiredFieldValidator 控制

RequiredFieldValidator 控制确保必填字段不为空。它主要和文本框绑定使得用户向文本框输入。

该控制的语法如下:

<asp:RequiredFieldValidator ID="rfvcandidate" runat="server" ControlToValidate ="ddlcandidate" ErrorMessage="Please choose a candidate" InitialValue="Please choose a candidate"> </asp:RequiredFieldValidator>

RangeValidator 控件

RangeValidator 控件负责核实输入的值是否在预设的范围之内。

它有三种特定属性:

属性描述
类型(Type)它定义了数据类型。可用的数据类型包括:Currency, Date,
Double, Integer, 和 String
最小值(MinimumValue)它指定了范围中的最小值
最大值(MaximumValue)它指定了范围中的最大值

这个控件的语法如下:

<asp:RangeValidator ID="rvclass" runat="server" ControlToValidate="txtclass" ErrorMessage="Enter your class (6 - 12)" MaximumValue="12" MinimumValue="6" Type="Integer"> </asp:RangeValidator>

CompareValidator 控件

CompareValidator 控件根据输入到另一个输入控件中的值、常量数值或正确的数据类型来验证值。

它有以下的特定属性:

属性描述
Type它定义了数据类型。
ControlToCompare它指定了输入控制中需要比较的值。
ValueToCompare它指定了输入控制中不变的值。
Operator它指定了比较的运算符,可用的值包括:相等、不等、大于等于、小于、小于等于、数据类型检查。

这种控件的基本语法如下:

<asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="CompareValidator"> </asp:CompareValidator>

RegularExpressionValidator 控件

RegularExpressionValidator 控件允许通过和正则表达式匹配来确定输入的有效性。正则表达式在 ValidationExpression 的属性里设置。

下表总结了正则表达式通常所用到的语法结构:

转义字符描述
和退格键匹配。
和 tab 匹配。
和回车键匹配。
v和垂直制表符匹配。
f和换页符匹配。
和换行匹配。
转义符。

除了简单的字符匹配,一类字符可以被设置成匹配的,这类字符叫做通配符。

通配符描述
.可以匹配除了
之外的任意字符。
[abcd]可以匹配集合中的任意字符。
[^abcd]排除集合中的任意字符。
[2-7a-mA-M]匹配特定范围内的任意字符。
w匹配任意字母数字字符组和下划线。
W匹配任何非单词字符。
s匹配如空格,制表位,换行等字符。
S匹配任何非空格的字符。
d匹配任何小数字符。
D匹配任何非小数字符。

量词可以表明字符出现的特定字数。

量词描述
*零或更多匹配。
+一个或更多匹配。
?零或一匹配。
{N}N 匹配。
{N,}N 或更多匹配。
{N,M}在 N 和 M 之间匹配。

该控件的基本语法如下:

<asp:RegularExpressionValidator ID="string" runat="server" ErrorMessage="string" ValidationExpression="string" ValidationGroup="string"> </asp:RegularExpressionValidator>

CustomValidator 控件

CustomValidator 控件允许编写客户端和服务器端特定的验证例程来验证值。

客户端验证通过 ClientValidationFunction 来适当的完成。客户端验证例程应该用浏览器能够识别的脚本语言来编写,例如 JavaScript 或者 VBScript。

服务器端的验证例程应该由控件的 ServerValidate 事件处理器来生成。服务器端的验证例程应该用任意的 .Net 语言来编写,例如:C# 或 VB.Net。

这种控件的基本语法如下:

<asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction=.cvf_func. ErrorMessage="CustomValidator"> </asp:CustomValidator>

ValidationSummary 控件

ValidationSummary 控件并不会进行任何验证但是会在页面显示一个所有的错误的总结。这个总结可以显示出所有失败的验证控件的错误信息属性的值。

下面两个相互包含的属性列表列出来错误信息:

  • ShowSummary:用特殊格式显示错误信息。
  • ShowMessageBox:用单独的窗口显示错误信息。

这个控件的基本语法如下:

<asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode = "BulletList" ShowSummary = "true" HeaderText="Errors:" />

验证组

复杂的页面会在不同的层面有不同的信息组。在这种情况下,不同的组就要有不同的验证这种情况可以用验证组来解决。

创建一个验证组,你必须通过设置输入控件和验证控件的 ValidationGroup 属性从而把它们放到相同的逻辑组中。

例子

下面这个例子描述了一个将由全校学生填的表格,这个表格分为四部分是用来竞选校长的。在这里,我们将用验证控件来验证用户所输入的。

这是在设计视图下的形式:

ASP.NET 验证器提交按钮的代码如下:

protected void btnsubmit_Click(object sender, EventArgs e) { if (Page.IsValid) { lblmsg.Text = "Thank You"; } else { lblmsg.Text = "Fill up all the fields"; } }

延伸 · 阅读

精彩推荐
  • ASP教程ASP所有的Session变量获取实现代码

    ASP所有的Session变量获取实现代码

    在程序调试中,有时候需要知道有多少Session变量在使用,她们的值如何?由于Session对象提供一个称为Contents的集合(Collection),我们可以通过For...Each循环来...

    asp教程网3532019-09-10
  • ASP教程ASP.NET 简介

    ASP.NET 简介

    本节对 ASP.NET 进行概括,介绍了 ASP.NET 的服务器技术、开发工具以及文件扩展名。 经典 ASP Active Server Pages(动态服务器页面) ASP ,全称 Active Server Pages(...

    未知1392023-05-08
  • ASP教程NAV导致IIS调用FSO失败的解决方法

    NAV导致IIS调用FSO失败的解决方法

    症状: 当你浏览调用FileSystemObject的ASP页面时, 对页面的请求处于停止状态并最终导致页面在浏览器中的超时。 原因: 这种问题是因为 Norton Antivirus 软件...

    asp教程网5492019-11-01
  • ASP教程asp 中文乱码问题解决方法

    asp 中文乱码问题解决方法

    不管什么语言乱码问题都存在,asp也不例外,本文将介绍asp中解决乱码方法,需要的朋友可以参考下...

    ASP之家6472019-07-10
  • ASP教程一份ASP内存的释放的实验报告

    一份ASP内存的释放的实验报告

    实验目的:验证主动释放内存变量是否有价值. 实验原始代码: script language=vbscript runat=server Dim temp1,temp2 temp1 = space(1024*1024*50) 50MB for i = 0 to 5000000 延迟 next t...

    asp教程网5052019-10-30
  • ASP教程asp实现后台添加wma视频文件前台显示

    asp实现后台添加wma视频文件前台显示

    想用asp来实现后台添加wma视频文件,前台显示所添加的这个视频文件,本文提供实现代码...

    服务器之家3402019-07-10
  • ASP教程asp中通过fso读取和生成UTF-8编码的txt

    asp中通过fso读取和生成UTF-8编码的txt

    利用fso.OpenTextFil读取UTF-8文件或者用FSO.save生成UTF-8文件时乱码解决办法生成静态页使用的方法是读取asp页面的html代码,保存为html文件,这种方法...

    ASP之家4712019-07-07
  • ASP教程一种理论上最快的Web数据库分页方法

    一种理论上最快的Web数据库分页方法

    出了一种理论上最佳的分页方法,本篇我们就来详细说说这种最佳的分页方法。 一:构思。 在设计Web数据库时,如果我们要编历每一条纪录,那么只有采取...

    asp教程网5642019-10-26