《《使用验证控》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《使用验证控》PPT课件.ppt(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第4章章使用验证控件使用验证控件内容内容验证控件概述验证控件概述验证的对象模型验证的对象模型ASP.NET的验证模型的验证模型使用验证控件使用验证控件验证控件概述验证控件概述为什么要验证用户输入为什么要验证用户输入验证过程验证过程为什么要验证用户输入为什么要验证用户输入输入验证是检验输入验证是检验Web窗体中用户的输入是否和期望窗体中用户的输入是否和期望的数据值、范围或格式相匹配的过程,可以减少等的数据值、范围或格式相匹配的过程,可以减少等待错误信息的时间降低发生错误的可能性,从而改待错误信息的时间降低发生错误的可能性,从而改善用户访问善用户访问Web站点的体验站点的体验 u验证控件的值u错
2、误阻塞处理u对欺骗和恶意代码的处理验证过程验证过程验证的对象模型验证的对象模型客户端和服务器端验证对象模型客户端和服务器端验证对象模型客户端页变量客户端页变量服务器端页属性服务器端页属性Page_IsValidIsValidPage_Validators(数组),包含对页上所有验证控件的引用Validators(集合),包含对所有验证控件的引用Page_ValidationActive,表示是否应进行验证的布尔值。通过编程方式将此变量设置为 false 以关闭客户端验证(无等效项)ASP.NET的验证类型的验证类型验证类型验证类型使用的控件使用的控件说说 明明必需项RequiredFieldV
3、alidator要求用户必须输入某一项与某值的比较CompareValidator将用户输入与一个常数值、另一个控件或特定数据类型的值进行比较(使用小于、等于或大于等比较运算符)范围检查RangeValidator检查用户的输入是否在指定的上下限内。可以检查数字对、字母对和日期对限定的范围模式匹配RegularExpressionValidator检查项与正则表达式定义的模式是否匹配。此类验证使您能够检查可预知的字符序列,如电子邮件地址、电话号码、邮政编码等内容中的字符序列用户定义CustomValidator使用你自己编写的验证逻辑检查用户输入。此类验证能够检查在运行时派生的值使用验证控件使
4、用验证控件验证控件的对象模型验证控件的对象模型错误信息的布局和显示错误信息的布局和显示使用验证控件使用验证控件演示和练习:使用验证控件演示和练习:使用验证控件演示和练习:使用自定义验证控件演示和练习:使用自定义验证控件使用验证组使用验证组演示和练习:如何使用验证组进行验证演示和练习:如何使用验证组进行验证禁用验证禁用验证演示和练习:通过设置演示和练习:通过设置CausesValidation属性来禁用属性来禁用验证验证以编程的方式测试验证的有效性以编程的方式测试验证的有效性验证控件的对象模型验证控件的对象模型属性属性说说 明明Display获取或设置验证控件中错误信息的显示行为ErrorMes
5、sage获取或设置验证失败时 ValidationSummary 控件中显示的错误信息的文本Text获取或设置验证失败时验证控件中显示的文本ControlToValidate获取或设置要验证的输入控件EnableClientScript获取或设置一个值,该值指示是否启用客户端验证SetFocusOnError获取或设置一个值,该值指示在验证失败时是否将焦点设置到 ControlToValidate 属性指定的控件上ValidationGroup获取或设置此验证控件所属的验证组的名称IsValid获取或设置一个值,该值指示关联的输入控件是否通过验证错误信息的布局和显示错误信息的布局和显示布局选项
6、布局选项说说 明明Static即使没有可见错误信息文本,每个验证控件也将占用空间,这允许你为页定义固定的布局。多个验证控件无法在页上占用相同空间,因此你必须在页上为每个控件预留单独的位置。这一设置只在 Internet Explorer 4.0 或更高版本中有效,在其他浏览器中该布局将变成 DynamicDynamic除非显示错误信息,否则验证控件将不会占用空间,这允许控件共用同一个位置(例如表的单元格)。但在显示错误信息时,页的布局将会更改,有时将导致控件更改位置None验证控件不在页上出现错误信息的布局和显示错误信息的布局和显示显示方法显示方法说说 明明内联在控件旁边验证控件所在的位置显示
7、错误信息摘要在一个涵盖所有错误的单独摘要中显示错误信息,该方式只在用户提交页时可用。或者,可以在消息框中显示错误信息,但是此选项仅在支持动态 HTML(DHTML)的浏览器中可用。内联和摘要同一错误信息的摘要显示和内联显示可能会有所不同。可以使用此选项内联显示较为简短的错误信息,而在摘要中显示较为详细的信息,也可以在输入字段旁显示错误标志符号,而在摘要中显示错误信息。自定义可以创建自己需要的错误信息显示使用验证控件使用验证控件RequiredFieldValidator控件控件u在页中添加 RequiredFieldValidator 控件并将其链接到必需的控件,可以指定用户在ASP.NET
8、网页上的特定控件中必须输入信息 使用验证控件使用验证控件CompareValidator控件控件u使用某一可指定的比较运算符来比较某控件中的特定字段与另一控件中的特定字段,并以此来确定有效性 使用验证控件使用验证控件RangeValidator控件控件u指定MaximumValue和MinimumValue两个属性,验证另一控件值是否在允许的范围内 使用验证控件使用验证控件RegularExpressionValidator控件控件u提供用于验证另一控件的值是否与所提供的正则表达式相匹配的控件功能 ZIP:使用验证控件使用验证控件CustomValidator控件控件u自定义验证函数,来验证控
9、件的输入值/定义验证函数定义验证函数protected void Text_ServerValidate(object source,ServerValidateEventArgs args)args.IsValid=(args.Value.Length=8);/使用验证函数使用验证函数演示和练习:使用验证控件演示和练习:使用验证控件多媒体演示多媒体演示演示和练习:使用自定义验证控件演示和练习:使用自定义验证控件多媒体演示多媒体演示使用验证组使用验证组在页面上控件比较多时,可以将不同的控件归为一在页面上控件比较多时,可以将不同的控件归为一组,组,ASP.NET在对每个验证组进行验证时,与同页在
10、对每个验证组进行验证时,与同页的其他组无关的其他组无关通过将要分在同一组的所有控件的通过将要分在同一组的所有控件的 ValidationGroup 属性设置为同一个名称(字符串)即可创建验证组属性设置为同一个名称(字符串)即可创建验证组 演示和练习:如何使用验证组进行验证演示和练习:如何使用验证组进行验证多媒体演示多媒体演示禁用验证禁用验证设置设置 ASP.NET 服务器控件的属性服务器控件的属性(CausesValidation=false)来避开客户端和服务器)来避开客户端和服务器的验证,而不只是客户端验证的验证,而不只是客户端验证 禁用验证控件,即将控件的属性禁用验证控件,即将控件的属性
11、Enabled设置为设置为false,使它根本不在页面上呈现并且不进行使用该控件,使它根本不在页面上呈现并且不进行使用该控件的验证的验证如果要执行服务器上的验证,而不执行客户端的验如果要执行服务器上的验证,而不执行客户端的验证,则可以将单独验证控件设置为不生成客户端脚证,则可以将单独验证控件设置为不生成客户端脚本,即将其属性本,即将其属性EnableClientScript设为设为false 演示和练习:通过设置演示和练习:通过设置CausesValidation属性禁用属性禁用验证验证多媒体演示多媒体演示以编程的方式测试验证的有效性以编程的方式测试验证的有效性测试常规错误状态测试常规错误状态
12、u在代码中测试页的 IsValid 属性,如果为true则执行代码;否则不执行 void Button1_Click(object sender,System.EventArgs e)if(IsValid)/Perform database updates or other logic here.以编程的方式测试验证的有效性以编程的方式测试验证的有效性测试单独控件的错误状态测试单独控件的错误状态u利用Page公开的Validators属性来检查每个验证控件的 IsValid 属性 if(this.IsPostBack)this.Validate();if(!this.IsValid)string msg=;foreach(IValidator aValidator in this.Validators)if(!aValidator.IsValid)msg+=+aValidator.ErrorMessage;Label1.Text=msg;回顾回顾验证控件概述验证控件概述验证的对象模型验证的对象模型ASP.NET的验证模型的验证模型使用验证控件使用验证控件实验实验参照实验手册,并在教师指导下完成实验报告。参照实验手册,并在教师指导下完成实验报告。习题习题详见本书第详见本书第4章后习题部分,请学生独立完成。章后习题部分,请学生独立完成。