找回密码
 会员注册
查看: 173|回复: 0

ASP.NET内置的6种验证控件的使用

[复制链接]

1389

主题

5

回帖

496万

积分

管理员

积分
4962990
发表于 2024-2-29 08:48:10 | 显示全部楼层 |阅读模式

ASP.NET控件验证
ASP.NET内置的验证控件有以下6种:
RequiredFieldValidator控件
CompareValidator控件
RangeValidator控件
RegularExpressionValidator控件
CustomValidator控件
ValidationSummary控件
1、RequiredFieldValidator控件
验证控件用来验证输入文本中的信息内容是否为空
就是在运行网站注册、登陆的时候,需要输入用户名,当你没有输入的时候,判断为空,然后返回一个message

在这里插入图片描述

通过设计一个会员注册时使用RequiredFieldValidator控件验证用户是否输入用户名和密码

在这里插入图片描述

(1) 新建一个web窗体
(2) 打开设计视图,按照上图所示设计页面

在这里插入图片描述

(3) Button的Text属性修改为注册,并在用户名、密码后添加RequiredFieldValidator控件
RequiredFieldValidator控件在验证控件里,平常用的Button之类的都是在标准里的

在这里插入图片描述
在这里插入图片描述

(4) 修改RequiredFieldValidator的ErrorMessage和ControlToValidate属性,让他们分别控制TextBox1和TextBox2,还有验证不合法是返回的消息分别是请输入用户名和请输入密码

在这里插入图片描述

在这里插入图片描述

现在的意思就是,当我们进行网页注册的时候,点击注册按钮,如果此时用户名和密码后面的文本框内为空,则会显示请输入用户名和请输入密码,那个文本框没有东西,那个文本框所对应的RequiredFieldValidator控件就会返回他的ErrorMessage
(5) 运行验证

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、CompareValidator控件
比较验证控件,使用该控件,可以将输入控件的值同常数值或其他输入控件的值相比较,以确定这两个值是否与比较运算符(小于、等于、大于等等)指定的关系相匹配;另外,该控件还有一个特殊功能,即数据类型检查,如输入的是否为数字、日期等。

在这里插入图片描述

通过使用CompareValidator控件检查两次输入的密码是否相同

在这里插入图片描述

(1) 修改上面的web窗体,将Email改为确认密码,并在确认密码之后添加CompareValidator控件

在这里插入图片描述

(2) 将CompareValidator控件的ErrorMessage设置为密码不一致,ControlToCompare是用来进行比较的控件的ID,设置为密码后的TextBox2控件,还有ControlToValidate属性设置为确认密码之后的控件TextBox3

在这里插入图片描述

现在是若密码和确认密码后的信息输入不一致,则确认密码后显示 输入密码不一致
(3) 运行验证

在这里插入图片描述
在这里插入图片描述

(4) CompareValidator控件还可以验证数据类型,Type属性来验证。
把用户名和密码后的验证控件都删掉,确认密码之后的CompareValidator控件,修改CompareValidator控件的Type属性为date(日期)类型(默认为string),修改ErrorMessage为不是日期类型

在这里插入图片描述
在这里插入图片描述

(5) 运行验证

在这里插入图片描述
在这里插入图片描述

(6) CompareValidator控件的Opreator属性,可以对比两个框内的数据是否相等、不相等、大于、大于等于、小于、小于等于,最重要的是还可以验证两个框内的数据类型是否匹配

在这里插入图片描述

3、RangeValidator控件
可以验证用户的输入是否在指定范围内。

在这里插入图片描述

设计一个用户注册页面,在该页面中要求用户输入出生日期。出生日期并非随便输入的,对其格式和范围要进行验证。本实例中限制出生日期的范围是1960/1/1 ~1992 /12/31,如果超过这个范围则显示提示信息。

在这里插入图片描述

(1) 按照上图所示设计视图,并在出生日期之后加上一个RangeValidator控件

在这里插入图片描述

(2) 修改RangeValidator控件的ErrorMessage属性为格式不正确,ControlToValidate属性设置为TextBox4,Type属性默认为string,把它设置为date类型,MaxiumValue和MiniumValue设置为2017-01-01和1900-01-01

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3) 运行验证

在这里插入图片描述
在这里插入图片描述

(4) RangeValidator控件修改Type还可以验证不同的数据类型
比如修改Type为Integer,最大值100,最小值1,ErrorMessage改为输入值不在范围内
运行验证

在这里插入图片描述

在这里插入图片描述

4、RegularExpressionValidator控件
验证控件用来验证输入控件的值是否与某个正则表达式所定义的模式相匹配,如身份证号码、电子邮件地址、电话号码、邮政编码等。

在这里插入图片描述

通过RegularExpressionValidator控件的ControlToValidate属性、Operator属性和Type属性验证用户输入的出生日期与日期类型是否匹配以及E-mail格式是否正确;另外,对于用户名的输入自定义了一个正则表达式来限制用户名只能输入字母、下画线及数字。

在这里插入图片描述

(1) 按照上图布局设计视图,在用户名后加上一个RegularExpressionValidator控件

在这里插入图片描述

(2) 将RegularExpressionValidator控件的ErrorMessage属性改为用户名只能是字母、下划线或者数字,ControlToValidate属性设置为用户名之后的TextBox1,设置ValidationExpress属性,系统提供很多正则表达式,但是这里我们是需要用户名只能是字母、下划线或者数字,系统没有,所以我们要自定义一个正则表达式^\w+$

在这里插入图片描述
在这里插入图片描述

(3) 给Email后加上RegularExpressionValidator控件,ControlToValidate属性设置为用户名之后的TextBox5,修改ErrorMessage为电子邮件格式不正确,ValidationExpress属性选择电子邮件地址,它会自动生成一个正则表达式

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(4) 运行验证

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5、CustomValidator控件
为输入控件提供用户定义的验证功能。(他是一个自定义的验证控件)
例如,可以创建一个验证控件,该控件检查在文本框中输入的值是否为偶数。

在这里插入图片描述

实现的是当用户输入的密码少于6位时,弹出对话框。

在这里插入图片描述

(1) 在密码文本框后面添加一个CustomValidator控件

在这里插入图片描述

(2) 修改ErrorMessage属性为密码不能少于6位,ControlToValidate设置为TextBox2

在这里插入图片描述
在这里插入图片描述

(3) 切换到源视图下,在代码页面的顶部写一个自定义的脚本函数

在这里插入图片描述

(4) 把自定义脚本中的myValidate复制到设计视图CustomValidator1中有一个ClientValidationFunction属性中,设置为这个函数的名称,然后EnableClientScript属性(表示启用客户端验证)设置为true(默认就是true)

在这里插入图片描述
在这里插入图片描述

(5) 运行验证

在这里插入图片描述

6、ValidationSummary控件
错误汇总控件,主要用于收集本页中所有验证控件的错误信息,将它们组织好并一起显示出来,错误列表可以通过列表、项目符号列表或单个段落的形式进行显示。

在这里插入图片描述

使用ValidationSummary集中所有的报错信息,并弹出提示框

在这里插入图片描述

(1) 在设计视图下添加一个ValidationSummary控件,汇总错误信息

在这里插入图片描述

(2) 设置ShowMessageBox属性设置为true(用弹窗方式)

在这里插入图片描述

(3) 运行验证

在这里插入图片描述


来源:https://blog.csdn.net/weixin_46067990/article/details/123430090
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?会员注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2024-12-26 13:14 , Processed in 2.665201 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表