《 ASPNET数据库网站设计教程(C#版)》 配套教学资源 第3章 ASPNET验证控件 本章内容ε验证控件概述,必须项验证控件,比较验证控件,范围验证控件,正 则表达式验证控件,自定义验证控件,验证摘要控件,指定验证组,禁用验证控 本章重点:验证控件的使用,包括 Required Field Validator、 Compare Validator、 Range validator RegularExpression Validator, Custom Validator, Validation Sumn 圖電子工掌出版社 PUBUSHING HOUSE OF ELECTRONICS INDUSTRY
第3章 ASP.NET验证控件 《ASP.NET数据库网站设计教程(C#版)》 配套教学资源 本章内容:验证控件概述,必须项验证控件,比较验证控件,范围验证控件,正 则表达式验证控件,自定义验证控件,验证摘要控件,指定验证组,禁用验证控 件。 本章重点:验证控件的使用,包括RequiredFieldValidator、CompareValidator、 RangeValidator、RegularExpressionValidator、CustomValidator、ValidationSummary
3.1验证控件概述 验证控件包括5种用于进行比较的控件和一种用于显示所 有验证控件错误信息的摘要控件。 表3-1验证控件的类型 验证类型 使用的控件 说明 必填项 RequiredFieldvalidator 用于指定输入控件为必填控件,以确保用户不会跳过输入 与某值的比 将用户输入与一个常数值或者另一个控件或特定数据类型的值进行比较(使 Compare Validator 较 用小于、等于或大于等比较运算符) 检查用户的输入是否在指定的上下限内。可以检查数字对、字母对和日期对 范围检查 Range validator 限定的范围 检查项与正则表达式定义的模式是否匹配。此类验证使程序员能够检查可预 模式匹配 RegularExpression validator 知的字符序列,如电子邮件地址、电话号码、邮政编码等内容中的字符序列 使用程序员自己编写的验证逻辑检查用户输入。此类验证能检查在运行时派 用户定义 Customvalidator 生的值 显示摘要 ValidationSummary 在页面中以摘要的形式显示所有验证控件产生的错误信息 ■可以被验证的Web服务器控件见表3-2,这些可以被验证的 控件都是用于输入数据的控件。表32可以被验证的W服务器控件 被验证的控件 被验证的属性 TextBox Text ListBox SelectedItem value DropDownlist SelectedItem value RadioButtonlist SelectedItem, value
◼ 验证控件包括5种用于进行比较的控件和一种用于显示所 有验证控件错误信息的摘要控件。 ◼ 可以被验证的Web服务器控件见表3-2,这些可以被验证的 控件都是用于输入数据的控件。 3.1 验证控件概述
3.2必须项验证控件 如果要求用户必须在某个输入控件中输入信息,而不可以 保持空白,则使用必须项验证控件 语法格式为: </asp: Required Field Validator
◼ 如果要求用户必须在某个输入控件中输入信息,而不可以 保持空白,则使用必须项验证控件。 ◼ 语法格式为: ◼ ◼ 3.2 必须项验证控件
表3-3 RequiredFieldValidator控件的常用属性 属性 指定要对哪个控件进行验证,其属性值是被验证的控件的D,也就是说,通过本属性连接到被验证 ControlTovalidate 的控件上 Text 指定被验证的控件没有通过验证时,验证控件本身所显示的错误提示信息 指定被验证的控件没有通过验证,并且在Web窗体中添加了 ValidationSummary控件时,在 ErrorMessage ValidationSummary控件中显示的错误提示信息 指定验证控件提供的初始值,初始值并不显示在被验证的字段中。如果设置 Initialvalue属性为非空 值,在被验证的字段为空的情况下提交表单,将通过验证。但是,如果被验证控件的字段中的值与 Initialvalue Initialvalue属性相同,则不通过验证。初始默认值为空字符串。也就是说,只有 Initialvalue属性值与 被验证的字段值不同时才会通过验证 说明:必须项的验证常与其他类型的验证结合使用。可以 根据需要对一个用户输入字段使用多个验证控件,因为除 了必须项验证控件外,其他所有验证控件都会把空白视为 正确而通过验证
◼ 说明:必须项的验证常与其他类型的验证结合使用。可以 根据需要对一个用户输入字段使用多个验证控件,因为除 了必须项验证控件外,其他所有验证控件都会把空白视为 正确而通过验证
【演练3-1】使用 Requiredfieldvalidator控件对文本框和下 拉列表框进行必须项验证。程序运行后显示如图3-1所示的 页面;若用户没有在文本框中输入学号并且没有在下拉列 表框中选择专业,则显示出错提示;程序正常运行时显示 如图3-2所示 ①设计页面。新建一个空网站,添加Web窗体,切换到设 计视图,插入一个5行2列、宽度为450x的表格,添加 个 Button控件、一个 TextBox控件、一个 DropDownlist控件 、两个 RequiredFieldvalidator控件。为了让用户看到错误原 因,将验证控件放置在被验证控件的右侧,如图3-3所示 RequiredFieldvalidator控件应用示例 RequredFieldVabdator控件应用示例 必须输入学号 学 号:122312001 专业:[请选择专让必须选择专业 专业:软伴技术专业 提交 提交了 学号:122 图3-1未通过验证时显示的出错提示 图3-2正常运行结果
◼ 【演练3-1】 使用RequiredFieldValidator控件对文本框和下 拉列表框进行必须项验证。程序运行后显示如图3-1所示的 页面;若用户没有在文本框中输入学号并且没有在下拉列 表框中选择专业,则显示出错提示;程序正常运行时显示 如图3-2所示。 ◼ ① 设计页面。新建一个空网站,添加Web窗体,切换到设 计视图,插入一个5行2列、宽度为450px的表格,添加一 个Button控件、一个TextBox控件、一个DropDownList控件 、两个RequiredFieldValidator控件。为了让用户看到错误原 因,将验证控件放置在被验证控件的右侧,如图3-3所示
②设置对象属性。页面中各控件的初始属性设置见表3-4 表3-4各控件的初始属性设置 TextBox I TextBox I 学号”文本框控件的I属性 DropDownList DropDownList “专业”下拉列表框控件的ID属性 utton1 提交”按钮控件的ID属性 Button1 Text 提交 显示在按钮上的文本 Label1 用于显示输出信息的标签的I属性 Labell 在初始状态下,标签中不显示任何内容 Requiredfieldvalidator1RequiredFieldvalidatorl掉件的D属性 ControlTo Validate TextBoxl 指定验证控件的验证对象 RequiredFieldValidator1 Text 必须输入学号 验证失败时显示的信息 ErrorMessage没有输入学号 本例因没有添加 ValidationSummary控件, 可不设置本属性 Required Field validator2 Required Field Validator2控件的ID属性 ControlTovalidate DropDownList1 指定验证控件的验证对象 RequiredFieldvalidator2 Text 必须选择一个专业 验证失败时显示的信息 ErrorMessage没有选择专业 在 ValidationSummary控件中显示的提示 lihe-请选择专业 验证控件的初始值,注意要与代码中的相同
◼ ② 设置对象属性。页面中各控件的初始属性设置见表3-4
设置 RequiredFieldvalidator控件的 ControTovalidate属性时 ,可在选中控件后单击 Controto validate属性右侧的下拉 按钮,在下拉列表中显示了当前页面中所有输入控件的名 称,选择希望连接的控件的I。设置属性后的页面如图3- 所示 M贴 幅们6的的生助即M数A情工(系购Q国分析w、 ··以|p Required 来方离“e212(1个目 学号 输入学号 U C\exa 1a 专业:际未师定工必须选择专业 交 方资滑器[队 RequiredFieldValidator System Web uLWebCortr Requiredfiel dvali dator控件应用示例 RequiredFieldvalidator ControlTov 专业,「球定- requiredfielavalidetor Label 图3-3设计页面 图3-4设置属性后的页面
◼ 设置RequiredFieldValidator控件的ControlToValidate属性时 ,可在选中控件后单击ControlToValidate属性右侧的下拉 按钮 ,在下拉列表中显示了当前页面中所有输入控件的名 称,选择希望连接的控件的ID。设置属性后的页面如图3- 4所示
③编写事件代码。 在设计视图中双击窗体的空白区域,输入页面加载时执行 的事件过程代码如下 【演练3-1】代码 ④运行网站。单击“启用调试”按钮,运行当前Web窗 体。如果在浏览器中显示如图3-5所示的提示,则说明没有 设置 Required Field validator控件的 Controtovalidate属性 性不力空 文门查看M收A工具0 会收e)同快讯库·请用站·曲义 工· /ex212“应用程序中的服务器 RequiredFieldvalidator1“的 ControlTovalidate属性不能为空 识明执行当箱省请丰对,出现来经处的·请检写限值意+以了稻再关话错以及代中导错的出处的 拿译翻信: at留caev性不验为空 执行当船e请求期主了米蛙处带的异常·可以便用下面的异常雄枝跟容信更确宝有关择常原日松发主位置的信意 分旺cm: tagnaaf te aayndreint).z 本信息: Ceret MT raw本4430199本d3391 b Iternet保护模式用 图35没有设置 ControlTo validate属性时的显示
◼ ③ 编写事件代码。 ◼ 在设计视图中双击窗体的空白区域,输入页面加载时执行 的事件过程代码如下: ◼ 【演练3-1】代码 ◼ ④ 运行网站。单击“启用调试”按钮 ,运行当前Web窗 体。如果在浏览器中显示如图3-5所示的提示,则说明没有 设置RequiredFieldValidator1控件的ControlToValidate属性
程序运行后,如果在学号文本框中没有输入数据或在下拉 列表中没有选择专业,当单击“提交”按钮时,控件将不 会通过验证,并在验证控件处显示验证控件的Text属性设 置的提示文本;反之,将通过验证 请读者设置 Requiredfieldvalidator1控件的 Initialvalue属性值 (如111),然后在 TextBox1中输入11l后提交,看看结果 是什么?并理解 Initialvalue属性的作用
◼ 程序运行后,如果在学号文本框中没有输入数据或在下拉 列表中没有选择专业,当单击“提交”按钮时,控件将不 会通过验证,并在验证控件处显示验证控件的Text属性设 置的提示文本;反之,将通过验证。 ◼ 请读者设置RequiredFieldValidator1控件的InitialValue属性值 (如111),然后在TextBox1中输入111后提交,看看结果 是什么?并理解InitialValue属性的作用
33比较验证控件 ompare validator控件将输入控件的值与常数或其他输入 控件中的值进行比较,以确定这两个值是否与由比较运算 等)指定的关系相匹配 Compare validator控件的语法格式为
◼ CompareValidator控件 将输入控件的值与常数或其他输入 控件中的值进行比较,以确定这两个值是否与由比较运算 符(==、!=、等)指定的关系相匹配。 CompareValidator控件的语法格式为: ◼ ◼ 3.3 比较验证控件