第八讲ASP.NET验证控件
第八讲 ASP.NET验证控件
教学目的: 验证控件概述 二、各验证控件的使用方法 三、自定义控件 四、分组校验方法 教学重点: 一、理解数据验证的意义; 二、掌握验证控件的使用; 、掌握验证页面设计方法
教学目的: 一、验证控件概述 二、各验证控件的使用方法 三、自定义控件 四、分组校验方法 教学重点: 一、理解数据验证的意义; 二、掌握验证控件的使用; 三、掌握验证页面设计方法
一、ASP.NET验证控件概述 ■验证工作最好放在客户端进行。当在客户端输入完数据, 向服务器提交以前应对数据进行检测,如果发现错误,立 即提示并要求改正,改正前不向服务器提交信息 但是有两个原因使得不能依赖客户端的验证。第一,由于 相当一部分客户端的设备功能弱,不具备验证能力,此时 验证工作只能放在服务器端进行;第二,恶意的用户能够 比较容易地破坏客户端的验证脚本,或者想方设法绕过客 户端的校验。 因此,从安全的角度出发,除非人为地取消了服务器端验 证,不论客户端是否进行了验证,服务器端的验证都是不 可缺少的。当用户向服务器提交数据之后,服务器都毫无 例外地调用验证程序来逐个检査用户的输入。如果发现任 何输入数据有错误时,整个页面将自行设置为无效状态, 并发出错误信息
一、ASP.NET验证控件概述 ▪ 验证工作最好放在客户端进行。当在客户端输入完数据, 向服务器提交以前应对数据进行检测,如果发现错误,立 即提示并要求改正,改正前不向服务器提交信息。 ▪ 但是有两个原因使得不能依赖客户端的验证。第一,由于 相当一部分客户端的设备功能弱,不具备验证能力,此时 验证工作只能放在服务器端进行;第二,恶意的用户能够 比较容易地破坏客户端的验证脚本,或者想方设法绕过客 户端的校验。 ▪ 因此,从安全的角度出发,除非人为地取消了服务器端验 证,不论客户端是否进行了验证,服务器端的验证都是不 可缺少的。当用户向服务器提交数据之后,服务器都毫无 例外地调用验证程序来逐个检查用户的输入。如果发现任 何输入数据有错误时,整个页面将自行设置为无效状态, 并发出错误信息
■验证控件是一个控件集合,使用验证控件可以验证 输入控件(如 TextBox)或选择控件(如 ListBoⅹ) 中数据的空值、范围和格式等,当验证失败时,显 示自定义的错误信息。验证控件验证的是 TextBox 控件的Text属性值和 ListBox、 DropDownlist、 Radiobut tonlist控 件的 Selecteditem. Value属性 值。 当网页有提交发生时,首先启动验证控件的验证功 能,各验证控件检验它所要验证的控件内的数据, 只有当页面上所有的验证通过验证后,网页才会被 提交至服务器进行处理。 即:验证是在提交服务器之前的
▪ 验证控件是一个控件集合,使用验证控件可以验证 输入控件(如TextBox)或选择控件(如ListBox) 中数据的空值、范围和格式等,当验证失败时,显 示自定义的错误信息。验证控件验证的是TextBox 控件的Text属性值和ListBox、DropDownList、 RadioButtonList控件的SelectedItem.Value属性 值。 ▪ 当网页有提交发生时,首先启动验证控件的验证功 能,各验证控件检验它所要验证的控件内的数据, 只有当页面上所有的验证通过验证后,网页才会被 提交至服务器进行处理。 即:验证是在提交服务器之前的
■使用验证控件通常不需要编写程序代码,只要 简单地设置控件的几个属性就能完成以前需要 咔常复杂的程序代码才能完成的验证工作。 可以通过设置提交控件( Button、 Image Button和 Linkbutton控件)的 Causesvalidation属性来确定当它被单击时是 否激发验证控件的验证行为。当某个提交控件 的单击事件处理程序并非为了将数据传送给服 务器时(例如“取消”等),将其 Causesvalidation属性设置为 false可避免引 发验证,便能顺利实现“取消
▪ 使用验证控件通常不需要编写程序代码,只要 简单地设置控件的几个属性就能完成以前需要 非常复杂的程序代码才能完成的验证工作。 ▪ 可以通过设置提交控件(Button、 ImageButton和LinkButton控件)的 CausesValidation属性来确定当它被单击时是 否激发验证控件的验证行为。当某个提交控件 的单击事件处理程序并非为了将数据传送给服 务器时(例如“取消”等),将其 CausesValidation属性设置为false可避免引 发验证,便能顺利实现“取消
二、ASP.NET验证控件的类型 ˉ系统提供了5种验证控件(包括程序设计者 自行定义的控件)和一个汇总控件。各种验 证控件的作用如表9.1所示
二、 ASP.NET验证控件的类型 ▪ 系统提供了5种验证控件(包括程序设计者 自行定义的控件)和一个汇总控件。各种验 证控件的作用如表9.1所示
表9.1-验证控件 验证类型验证摆件各 作用说明 必需项的验证Rere确保用户不会遗漏该项的输入 比较验证 Compare validators 使用小于、等于、大于等比较运算符,将用户的输 入与另一常量值或与另一控件的属性值进行比较φ 范围检查 Range v aldatore 检查用户的输入是否在指定的范围内。可以检查数 字、字母字符和日期的范围 模式[配1e查项与正则表达式定义的模式比较,看是否匹 配。这种验证类型用于检查可预知的字符序列, 如∶身份证号、社会保险号、电子邮牛地址、电话 号码、邮政编码等字符序列 自行定义4 Custom validator 使用自己编写的验证逻辑检查用户输入。这种验证 类型允许检查在运行时导出的值
各验证控件的使用方法 ◆ RequiredFieldValidator控件 ◆ Comparevalidator控件 ◆ Range validator控件 ◆ ReqularExpressionValidator:控件 ◆ Validation Summary控件
三、各验证控件的使用方法 ◆RequiredFieldValidator控件 ◆CompareValidator控件 ◆RangeValidator控件 ◆RegularExpressionValidator 控件 ◆ValidationSummary控件
8.3.1 RequiredFieldvalidator控件 RequiredFieldvalidator控件是一个用于 要求用户必须输入数据的验证控件。只要 用户在指定的输入控件中输入了数据,不 管输入的是什么数据,都可以通过这个验 证。通常作为非空验证控件使用 常规应用: 登陆模块中用户名、密码不能为空
8.3.1 RequiredFieldValidator控件 RequiredFieldValidator控件是一个用于 要求用户必须输入数据的验证控件。只要 用户在指定的输入控件中输入了数据,不 管输入的是什么数据,都可以通过这个验 证。通常作为非空验证控件使用。 常规应用: 登陆模块中用户名、密码不能为空
RequiredFieldvalidator控件的重要属性: (1) Controltovalidate:设置被验证的控件,可 以在本属性的下拉列表中选择。 (2) ErrorMessage:当不能通过验证时在 Validationsummary显示的错误信息。(一般设 为详细的错误信息) (3)Text:当不能通过验证时显示的错误信息。如 果该值没有设置,则显示 ErrorMessage的值的内 容。(一般设为*) 注意:若同时设置了rsg和rext属性值, 则验证控件显示Text属性的内容
▪ RequiredFieldValidator控件的重要属性: (1) ControlToValidate:设置被验证的控件,可 以在本属性的下拉列表中选择。 (2) ErrorMessage:当不能通过验证时在 ValidationSummary显示的错误信息。(一般设 为详细的错误信息) (3) Text:当不能通过验证时显示的错误信息。如 果该值没有设置,则显示ErrorMessage的值的内 容。(一般设为*) 注意:若同时设置了ErrorMessage和Text属性值, 则验证控件显示Text属性的内容!