版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ASP.NET动态网站开发教程第6章验证控件,为网站把好安全关ASP.NET动态网站开发教程6.1客户端验证和服务器端验证1)客户端验证。由用户的浏览器本身进行的验证。优点:快速,减少服务器压力;缺点:不够安全。2)服务器端验证。由服务器端的程序代码对数据进行验证。优点:安全;缺点:慢,增加服务器负担。3)现实中的选择。同时采用客户端验证和服务器端验证。ASP.NET动态网站开发教程ASP.NET中提供了5个验证控件和1个错误汇总控件ASP.NET动态网站开发教程除验证汇总控件外,其它的5个验证控件,均有如下4个属性需要设置。ControlToValidate属性,要验证的控件的ID。对于上图来说,就是对应前面的文本框,即TextBox控件的ID名。ErrorMessage属性,当验证的控件无效时,在自身以及错误汇总控件中显示的信息。Text属性,当验证的控件无效时,自身显示的验证程序文本。本项若省略则显示ErrorMessage属性中信息。Display,验证程序的显示方式。包括3种选择:不显示错误信息(None);显示在设计时控件所放置的位置(Static);将错误信息动态显示在页面上(Dynamic)。默认为Static。6.2验证控件的使用ASP.NET动态网站开发教程1)必需验证控件例如,若该验证控件监控的输入对象为TextBox控件(ID名为txtName),若用户未在TextBox控件内填写内容,则提示信息“姓名不能为空”<asp:RequiredFieldValidatorID="RequiredFieldValidator1"runat="server"ControlToValidate="txtName"ErrorMessage="姓名不能为空">默认情况下,该控件验证的错误条件是空字符串("")。也可以更改错误条件为其他字符串,这时需要设置InitialValue属性的默认值。ASP.NET动态网站开发教程2)范围验证控件
RangeValidator控件用于检测用户输入的值是否介于两个值之间。可以对不同类型的值进行比较,比如数字、日期以及字符。RangeValidator控件主要的属性如下。Type属性值为要比较的类型MinimumValue属性值为范围的最小值MaximumValue属性值为范围的最大值ASP.NET动态网站开发教程2)范围验证控件
例如,要对年龄的范围进行验证(5岁~200岁之间),应将默认的String类型更改为Integer类型,MinimumValue属性设为5,MaximumValue属性设为200。<asp:RangeValidatorID="RangeValidator1"runat="server"ControlToValidate="txtAge"ErrorMessage="年龄不在有效范围内"MaximumValue="200"MinimumValue="5"Type="Integer"></asp:RangeValidator>ASP.NET动态网站开发教程3)比较验证控件
CompareValidator控件用于将由用户输入到输入控件的值与输入到其他输入控件的值或常数值进行比较。几个重要的属性的设置方法如下。(1)若要将输入控件与其他输入控件进行比较,则将ControlTovalidate设置为输入控件ID,而ControlToCompare属性设置为要与之相比较的控件ID。若要使输入控件与某个常数值进行比较时,则比较验证控件属性为:将ControlTovalidate设置为该输入控件ID将ValueToCompare属性设置与之比较的常数。类型(Type)属性用于设置比较数据的类型,只有在同一类型的数据之间才能够进行比较。操作符(Operator)属性用来指定比较的方法,如等于(Equal,默认值)、大于(GreaterThan)、小于(LessThan)等。ASP.NET动态网站开发教程3)比较验证控件
例如,对注册的两个密码框(两个TextBox控件的ID分别为txtPassword和txtPassword2)内容进行比较验证:<asp:CompareValidatorID="CompareValidator1"runat="server"ControlToCompare="txtPassword"ControlToValidate="txtPassword2"ErrorMessage="两密码不一致"></asp:CompareValidator>ASP.NET动态网站开发教程4)正则表达式验证控件
RegularExpressionValidator控件用来验证输入的格式是否匹配某种特定的模式(用正则表达式来表示)除设置前面介绍的几个基本属性外,主要设置的是ValidationExpression属性中的正则表达式ASP.NET动态网站开发教程4)正则表达式验证控件
单击ValidationExpression属性右侧的省略号找到了吗?下方“验证表达式”中的“天书”般的一系列符号即是最终的表达式!ASP.NET动态网站开发教程4)正则表达式验证控件
对应CompareValidator控件的标签代码为:<asp:RegularExpressionValidatorID="RegularExpressionValidator1"runat="server"ControlToValidate="txtEmail"ErrorMessage="格式不正确"ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*“></asp:RegularExpressionValidator>ASP.NET动态网站开发教程正则表达式-(1)文字符号
最基本的正则表达式由单个文字符号组成。如a,它将匹配字符串中出现的字符“a”。如对字符串“Jackisaboy”。两个“a”将被匹配。类似的,cat会匹配“Aboutcatsanddogs”中的“cat”。这等于是告诉正则表达式引擎,找到一个c,紧跟一个a,再跟一个t。正则表达式引擎缺省是大小写敏感的。除非告诉引擎忽略大小写,否则cat不会匹配“CAt”ASP.NET动态网站开发教程正则表达式-(1)文字符号
下面文字字符被保留作特殊用途(称作元字符):
[]\^$.|?*+()若想在正则表达式中将这些字符只用作普通的文本字符,就需要用反斜杠“\”对其进行转义可以使用特殊字符序列来代表某些不可显示的字符:\t代表Tab\r代表回车符\n代表换行符ASP.NET动态网站开发教程正则表达式-(2)字符集
字符集是由一对方括号“[]”括起来的字符集合。使用字符集,可以告诉正则表达式引擎仅仅匹配多个字符中的一个。如,使用gr[ae]y匹配gray或grey。但不会匹配graay或graey若要字符集匹配任何不在方括号中的字符,就在左方括号“[”后面紧跟一个尖括号“^”。如q[^u]ASP.NET动态网站开发教程正则表达式-(2)字符集
字符集用到“元字符”怎么办?除这4个字符(]\^-)需要转义,其他常见的元字符在字符集定义内部都是正常字符,直接写即可。例如,要搜索星号“*”或加号“+”本身,可以直接用[+*]ASP.NET动态网站开发教程正则表达式-(2)字符集
字符集的简写
[0-9]=\d[A-Za-z0-9_]=\w(单词字符)空格符和Tab符,以及回车换行符\r\n=\s(白字符)取反字符集的简写:
[^\s]=[\S][^\w]=[\W][^\d]=[\D]ASP.NET动态网站开发教程正则表达式-(3)使用?*或+进行重复
?:告诉引擎匹配前导字符0次或一次;+:告诉引擎匹配前导字符1次或多次;*:告诉引擎匹配前导字符0次或多次。[0-9]+会匹配837以及222<[A-Za-z][A-Za-z0-9]*>匹配没有属性的HTML标签,“<”以及“>”是文字符号。第一个字符集匹配一个字母,第二个字符集匹配一个字母或数字允许定义对一个字符重复多少次。词法是:{min,max}。min和max都是非负整数。如果逗号有而max被忽略了,如{min,},则max没有限制。如果逗号和max都被忽略了,则重复min次。ASP.NET动态网站开发教程正则表达式-(4)使用“.”匹配几乎任意字符
在正则表达式中,“.”是最常用的符号之一。“.”匹配一个单个的字符而不用关心被匹配的字符是什么。唯一的例外是换行符。因此,“.”相当于字符集[^\n\r]。ASP.NET动态网站开发教程正则表达式-(5)字符串开始和结束
“^”匹配一行字符串第一个字符前的位置。^a将会匹配字符串“abc”中的a。^b将不会匹配“abc”中的任何字符。类似的,“$”匹配字符串中最后一个字符的后面的位置。所以c$匹配“abc”中的c,而不会匹配“bcd”中的c。在编程语言中校验用户输入时,如果想校验用户的输入全部为整数,用^\d+$。用户输入中,常常会有多余的前导空格或结束空格。可以用^\s*和\s*$来匹配前导空格或结束空格。ASP.NET动态网站开发教程正则表达式-(6)选择符
正则表达式中“|”表示选择。可以用选择符匹配多个可能的正则表达式中的一个。如果你想搜索文字“cat”或“dog”,可以用cat|dog。如果想有更多的选择,只要扩展列表即可,如cat|dog|mouse|fish。选择符在正则表达式中具有最低的优先级,也就是说,它告诉引擎要么匹配选择符左边的所有表达式,要么匹配右边的所有表达式。可以用圆括号来限制选择符的作用范围。如mouse(cat|dog)fish,这样告诉正则引擎把(cat|dog)当成一个正则表达式单位来处理。ASP.NET动态网站开发教程5)自定义验证控件
如果以上4种验证控件都不是自己所需的验证类型,那么还可以使用CustomValidator控件来自定义验证。将CustomValidator控件拖入窗体,将ControlToValidate属性指向被验证对象在ErrorMessage属性中填写出现错误时显示的信息双击该控件,为该验证控件的ServerValidate
事件编写验证程序。
ASP.NET动态网站开发教程5)自定义验证控件
例如,只有用户输入的帐号不为“tom”时才能验证通过,否则提示“此账号已被使用,请另选”。
protectedvoidCustomValidator1_ServerValidate(objectsource,ServerValidateEventArgs
args){if(args.Value=="tom")//如果用户输入的帐号为”tom”{
args.IsValid=false;//验证不允许通过
}else{
args.IsValid=true;//验证通过
}}
ASP.NET动态网站开发教程再结合客户端验证程序ASP.NET动态网站开发教程6)验证汇总控件ValidateSummary控件DisplayModeShowSummaryShowMessageBoxASP.NET动态网站开发教程在一个网页中通常会出现几个独立的输入部分,它们的作用不同,验证的时机也不相同,应该分别进行验证。
例如,网页中即包括用于查询信息的输入部分,又包括用户登录部分,就属于这种情况。若不进行分组,验证将相互干扰。分组使用控件的ValidationGroup属性。将查询信息的输入框控件、验证控件、按钮控件的ValidationGroup属性都设置成一个值,如GroupSearch,将用户登录部分的输入框控件、验证控件、按钮控件的ValidationGroup属性设置另外一个值,如GroupLogin。6.3分组验证ASP.NET动态网站开发教程【例】ASP.NET动态网站开发教程本章小结在网站中,对输入数据进行校验是经常需要使用的技术。在ASP.NET中,各种校验控件虽然验证目的不同,但是使用的方法却有很多共同点,都需要通过属性指向被校验的输入控件,并指定错误发生时提示的语句。其他属性的设置则根据控件的作用不同而有所不同。在这些控件中,除了RequiredFieldValidator控件,其他控件都认为空的输入是允许的,因此,有时需要将RequiredFieldValidator控件与其他控件结合一起指向输入控件,以避免输入错误的发生。对于同一个网页若存在多组独立的验证单元时,可使用分组验证,以便让它们在不同的时机完成自己独立的验证工作。ASP.NET动态网站开发教程1.填空题(1) 要对年龄进行输入验证,要使用
验证控件。(2) RequiredFieldValidator控件的
属性用来记录当验证失败时,在ValidationSummary控件中显示的文本。(3) RegularExpressionValidator控件的
属性用来规定验证输入控件的正则表达式。(4) 正则表达式“1(3|5)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版电影剧本创作版权转让合同
- 2024年度智能城市建设整体解决方案提供合同
- 二零二四年度医疗设备采购合同标的详细说明
- 保浩合同范本
- 2024年度国际货物买卖与物流服务合同
- 二零二四年度广告发布合同协议(04版)
- 置换山地合同范本
- 买卖合作合同完整版
- 2024至2030年纸护角生产线项目投资价值分析报告
- 2024年度企业融资与贷款合同
- 浙教版七年级科学上册第三章第1节地球的形状和内部结构(共21张PPT)
- 年报审计资料清单
- 医疗美容项目分级管理目录
- 医院危险品安全管理制度(5篇)
- 《树立正确人生观》课件
- 教师语言的魅力课件
- 兽用疫苗生产-课件
- 病案信息技术(士):病案信息技术相关专业知识真题及答案
- 乡村医生常见疾病和症状手册(2022版)
- 保修阶段监理方案
- 人力资源管理权限划分
评论
0/150
提交评论