




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第5章Web服务器验证控件,2,本章要点:,理解客户端和服务器端验证掌握ASP.NET3.5各验证控件的使用,3,目录,5.1窗体验证概述5.2ASP.NET3.5服务器验证控件5.2.1RequiredFieldValidator控件5.2.2CompareValidator控件5.2.3RangeValidator控件5.2.4RegularExpressionValidator控件5.2.5CustomValidator控件5.2.6ValidationSummary控件5.3小结,4,5.1窗体验证概述,验证就是给所收集的数据制定一系列规则。验证不能保证输入数据的真实性,只能说是否满足了一些规则,如“文本框中必须输入数据”、“输入数据的格式必须是电子邮件地址”等。服务器端验证是指将用户输入的信息全部发送到Web服务器进行验证。客户端验证是指利用JavaScript脚本,在数据发送到服务器之前进行验证。,5,5.1窗体验证概述(续),ASP.NET3.5通过服务器控件形式引入了窗体验证,具有一定的智能性。开发人员无需关心使用哪种方式进行验证,因为在ASP.NET3.5页面生成时,系统会自动检测浏览器是否支持JavaScript,如果支持,则将脚本发送到客户端,验证就在客户端完成,否则在服务器端完成验证。,6,5.1窗体验证概述(续),经常通过判断页面的属性IsValid值可确定页面上的控件是否都通过了验证。“true”表示所有的控件都通过了验证,而“false”表示页面上有控件未通过验证。,7,可以自动验证客户输入的内容是否符合要求.,5.2ASP.NET3.5服务器验证控件,可以自动验证客户输入的内容是否符合要求.,8,可以对哪些控件进行验证?,9,共同的实用属性表,10,属性说明,EnableClientScript:为保证响应速度,一般设置验证控件的属性EnableClientScript值为true。这样,当在页面上改变属性ControlToValidate指定控件的值并将焦点移出时,就会产生客户端验证。此时验证用的JavaScript代码不是由开发人员开发,而是由系统产生。若将EnableClientScript值设为false,则只有当页面有往返时,才会实现验证工作,此时完全使用服务器端验证。,11,属性说明(续),CausesValidation:值false表示不执行验证过程。若要对一个控件设置多个规则,可通过多个验证控件共同作用,此时验证控件的属性ControlToValidate应为相同值。若要对同一个页面上不同的控件提供分组验证功能,可以通过将同一组控件的属性ValidationGroup设置为相同的组名来实现。,12,5.2.1RequiredFieldValidator控件(必须字段验证)控件,用于对一些必须输入的信息进行检验,如用户名、密码等。属性InitialValue:用于指定被验证控件的初始文本。,13,RequireFieldValidator(必须字段验证)控件,属性:ControlToValidate:被验证的控件的名称(关联控件)。Text:错误发生时提示信息,可以包含HTML标记。ErrorMessage:错误信息,用于验证总结控件收集。InitialValue:起始值(对DropDownList控件较为有用)Display:Dynamic|Static|None,14,实例5-1禁止空数据且同时要改变初始值,当改变用户名右边文本框中内容并将焦点移出时执行客户端验证,若内容仍为文本框原来的初始值,则显示“不能与初使值相同”;若内容为空,则显示红色*。源程序:Rquire.aspx程序说明:rfvNamel保证用户名必须输入,而rfvNaqme2保证输入的用户名必须与初始值不同。,15,5.2.2CompareValidator控件,用于:比较两个控件的值是否一致(或大小关系)比较某控件值的类型(如是否是日期或数值)比较某控件值是否等于固定值(或大小关系),16,CompareValidator控件实用属性表,注意:属性ControlToCompare和ValueToCompare应用时只能选择一个。,17,CompareValidator(比较验证)控件,18,实例5-2CompareValidator控件应用,密码文本框和确认密码文本框要求验证输入值是否一致;答案文本框验证值是否为“A”;金额文本框验证数据类型是否为Currency。源程序:Compare.aspx,19,5.2.3RangeValidator控件,用来验证输入值是否在指定范围内。,20,实例5-3RangeValidator控件应用,成绩文本框要求值在0100之间;日期文本框要求值在2000-1-1与2008-1-1之间。源程序:Range.aspx,21,5.2.4RegularExpressionValidator控件,用来验证输入值是否和正则表达式的定义相匹配,常用来验证电话号码、邮政编码、E-mail等。属性ValidationExpression:用来确定验证需要的正则表达式。,22,实例5-4验证电子邮件地址,当输入的电子邮件地址不符合规则,再单击按钮后显示“请输入合法的E-mail地址!”,否则显示“验证成功!”。源程序:Regular.aspx注意:每个验证控件都有属性IsValid,若一个页面上有多个验证控件,只有当所有验证控件的属性IsValid值为true时,属性Page.IsValid值才为true。,23,5.2.5CustomValidator控件,当ASP.NET提供的验证控件无法满足实际需要时,可以考虑自行定义验证函数,再通过CustomValidator控件来调用它。,24,5.2.5CustomValidator控件(续),要使用客户端验证,则需要设置属性ClientValidationFunction值为客户端验证函数名,并且要设置属性EnableClientScript的值为true。要使用服务器端的验证,则需要通过事件ServerValidate触发。不管使用何种验证方式,都可通过判断CustomValidator的属性IsValid来确定是否通过验证。,25,实例5-5验证必须输入一个偶数,输入一个数值,单击按钮后判断奇偶数并返回验证结果。客户端验证源程序:CustomClient.aspx服务器端验证源程序:CustomServer.aspx混合验证源程序:Custom.aspx,26,5.2.6ValidationSummary控件,提供了汇总其它验证控件错误信息的方式,即汇总其它验证控件的属性ErrorMessage值。属性DisplayMode:指定了显示信息的格式,值分别为BulletList、List和SingleParagraph。属性ShowMessageBox:指定是否在一个弹出的消息框中显示错误信息。属性ShowSummary:指定是否启用错误信息汇总。,27,实例5-6验证控件综合应用,用于输入用户名信息的文本框使用了RequiredFieldValidator控件;用于输入密码和确认密码的文本框都使用了RequiredFieldValidator控件,以防止用户漏填信息。同时还使用了CompareValidator控件验证两者输入的值是否一致;用于输入电话号码信息的文本框使用了RegularExpressionValidator控件,当用户输入的信息格式不,就会产生验证错误;,28,实例5-6验证控件综合应用(续),用户输入身份证号码信息的文本框使用了CustomValidator控件,当身份证号码中包含的出生年月格式经验证无效时产生验证错误。放置的ValidationSummary控件,用于汇总所有的验证错误信息。当上述验证控件出现验证错误时,焦点会定位在出现验证错误的文本框中。源程序:MultiValidate.aspx,29,程序说明,若页面中有其它验证控件未通过验证,则单击按钮后CustomValidator控件的事件ServerValidate也不会被触发。因为设置了ValidationSummary控件的属性ShowMessageBox值为true和属性ShowSummary为false,所以汇总的验证错误信息未在页面上显示,而是以对话框的形式显示。,30,程序说明,因为设置了所有验证控件的SetFocusError值为true,所以当单击按钮时若有某个验证控件未通过验证,此时光标会定位到对应的文本框中。,31,5.3小结,为给用户提供尽快地响应同时保证验证的安全性,在窗体验证时常需同时使用客户端和服务器端验证。ASP.NET3.5的验证控件提供了必需输入验证、比较验证、范围验证、正则表达式验证、自定义验证和汇总其它验证控件错误的功能。为达到一定的验证效果,实际使用时对同一个控件可能使用多个验证控件。,32,RegularExpressionValidator(正则表达式匹配验证)控件,什么是正则表达式?正则表达式是一种语言,它可以明确描述文本字符串中的模式。除了简单描述这些模式之外,正则表达式引擎通常可用于遍历匹配,并使用模式作为分隔符来将字符串解析为子字符串,或以智能方式替换文本或重新设置文本格式。正则表达式为解决与文本处理有关的许多常见任务提供了有效而简捷的方式。在讨论正则表达式时,通常以正则表达式匹配(或不匹配)的文本为基础分析正则表达式。如有表达式foo,则下列文本是匹配的:foo、food、foot、“Theresevilafoot.”有关表达式的知识,请参阅相关书籍。,33,RegularExpressionValidator(正则表达式匹配验证)控件,一些正则表达式字符及其含义:.匹配括号内的任何一个字符.匹配不在括号内的任何一个字符w匹配包括下划线的任何单词字符。等价于A-Za-z0-9_。W匹配任何非单词字符。等价于A-Za-z0-9_。s匹配任何一个空白字符tnrfvS匹配任何一个非空白字符tnrfvd匹配任何一个数字0-9D匹配任何一个非数字字符0-9n,m最少匹配前面表达式n次,但最多m次n,最少匹配前面表达式n次n正好匹配前面表达式n次,34,RegularExpressionValidator(正则表达式匹配验证)控件,一些正则表达式字符及其含义(续):?匹配前面表达式0次或1次0,1+至少匹配前面表达式1次1,*匹配前面表达式0次或多次0,|匹配|左边或右边的表达式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工厂流水加工合同范本
- 招聘演员的合同范本
- 转让公司合同范本
- 代理车险合同范本
- 设计加采购合同范本
- 深圳法律合同范本
- 个人转让门面合同范本
- 共同买货车合同范本
- 大宗企业采购合同范本
- 承包小区树木合同范本
- 手术部位感染案例分析
- 气道支架植入术后护理查房
- 2025年时事政治题附完整答案详解【各地真题】
- 四川省宜宾市2025年中考物理试题(含答案)
- 《安宁疗护》高职护理专业全套教学课件
- 高速公路隧道防火安全试验检测计划
- 从零开始学外贸阅读札记
- 2025年山东省高考招生统一考试高考真题生物试卷(真题+答案)
- 2025至2030中国榴莲行业发展分析及发展前景与投资报告
- 英语单词大全(完整版)
- 远离文身 让青春不被“刺”痛 课件-2024-2025学年高一下学期预防青少年文身主题班会
评论
0/150
提交评论