j2ee项目实训struts框架技术——第5章struts框架actionform组件及应用第2部分内容摘要:
orm 组件 —— 标准的ActionForm 组件和虚拟 DynaActionForm 组件提供了支持。 因此,在具体的应用开发中,应该根据在系统中的各个表单所对 应的 ActionForm 组件的实现方式,而选择合适的Validator 验证器的 ActionForm 组件类。 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 9/20 页 图 ValidatorForm 和 DynaValidatorForm 类的继承关系 Validator 验证器 验证方法 在默认情况下, Struts 框架 系统提供了十几个验证方法(也称为校验器),这些校验器可以满足一般应用项目开发中碰到的绝大多数表单的输入验证要求。 比如表单中的某 些字段必须要求有数据输入 、 邮政编码 应该满足一定的形式要求等 公共需要。 当然 ,如果Validator 框架没有提供应用系统中所需要 的验证方法的程序时,开发者也可以自己创建定制的验证方法的程序,并将它插入到该验证的插件程序中以实现对标准的 Validator 框架进行扩展。 应用 系统中 所需使用的基本 校验器 和 定制 扩展的 校验器 ,都可以在 同 一个 XML 配置文件 中指定 ,这为用户扩展 校验器 功能提供了极大的方便。 Validator 验证器 框架内自带有一些实用的验证方法 可把 Validator 验证器 框架 作为一个可用于实现对 ActionForm 组件进行验证的插件程序。 在每个验证的插件程序中,都包含有多个不同的验证方法,它们 负责执行特定类型的验证任务,并且验证可能通过,也可能失败、并报告出对应的错误提示文字。 1) 主要的默认验证方法 Validator 验证器 框架 提供的校验器主要包括 14 个基本验证器。 2)各个 默认验证方法的主要功能 1) byte、 short、 integer、 long、 float 和 double: 检验值是否能被转换成对应的基本数据类型 2) creditCard: 检验输入域是否是一个合法的信用卡号码 3) date: 检验输入域是否是一个合法日期(它还能确保以期望的格式提供该数据,例如 MM/DD/YYYY 或 DDMMYYYY。 ) 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 10/20 页 4) : 检验输入是否是一个合法 Email 地址 5) mask: 检验输入域是否能成功匹配一个正则表达式,通过一个常规的 Jakarta RegExp 表达式 来 检查字段值。 例如: ^[azAZ]*$ 表示该值必须只包含字母、^\d{5}\d*$ 表示该值必须是五位数字 6) maxLength: 检验值的长度是否小于等于给定的最大长度 7) minLength: 检验值的长度是否大于等于给定的最小长度 8) range: 检验值的范围是否在最大值和最小值之间 9) required: 检验输入域是否为不为空或不包含空格值的长度是否大于零。 在具体应用开发时,每个 验证方法可以 单独应用,当然这些 验证方法的 规则也可以组合成更复杂的规则集。 Validator 验证器 框架 中的各个自带的校验器功能说明 1) Required 校验器( Required Validator) 这个校验器用来校验页面表单中的输入数据不能为空。 如果某一个页面表单中的某个域( Field)依赖于这个校验器,那么如果用户在页面表单中没有输入这个域对应的输入数据时, Required 校验器将会触发一个 Exception 异常,这个 Exception 的异常错误信息可以在页面或者服务端 被捕捉到。 下面的 【例 514】所示为应用 Validator 验证器 框架对 某个表单中 的 “ userName” (用户名称) 属性字段应用 Required 校验器 验证定义 的 示例。 【例 514】对某个表单中的 “ userName”属性字段应用 Required 校验器 验证定义示例 field property=userName depends=required msg name=required key=/ arg0 key=/ /field 上面的 【例 514】示 例说明了 “ userName”属性字段 的校验规则是不能为空(必须输入数据),同时在 资源字符串文件中定义出各个 key名称所对应的提示信息。 如果 Validator 校验到用户在表单中的 “ userName”属性字段中 没有输入任何的数据,就会将 key 名称为“ ”所对应的信息作为错误提杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 11/20 页 示文字,同时如果在 JSP 页面中捕捉了该错误信息,该错误信息将会显示输出。 2) Mask 校验器( Mask Validator) Mask Validator 校验用户输入的数据 值 是否遵照一定的规则,这个规则由开发者在 文件中 以 正则表达式 的形式加以 定义。 下面的【例 515】所示为某个表单中应用 Validator 验证器 框架对“ postalCode”(邮政编码)属性字段应用 Mask 校验器 验证定义示例。 【例 515】 对“ postalCode”属性 字段应用 Mask 校验器 验证定义示例 field property=postalCode depends=mask arg0 key=/ arg1 name=”mask” key=${var:mask} resource=false/ varvarnamemask/varnamevarvalue^0\d*$/varvalue /var /field 上面的 arg1标签说明了这个校验的第二个参数是定义在由 var标签中所声明的名称为 mask的变量值,而其中的 varvalue标签说明了 mask的变量值必须是以数字 0开头,以任意数字字符结尾的一个字符串。 3)数字范围校验器( Range Validator) 这个校验器校验表单中的某个字段的数据值是否在一个给定的数字范围内,而数字范围可以由开发者自己进行定义变量而给定出。 下面的【例 516】所示为某个表单中应用Validator 验证器 框架对“ userAge”(用户的年龄)属性字段应用 Range 校验器 验证定义示 例。 【例 516】 对“ userAge”属性字段应用 Range 校验器 验证定义示例 field property=userAge depends=range msg name=range key=/ arg0 key=/ arg1 name=range key=${var:min} resource=false/ arg2 name=range key=${var:max} resource=false/ varvarnamemin/varnamevarvalue18/varvalue/var var varnamemax/varnamevarvalue120/varvalue /var /field 杨教授工作室 精心创作的优秀程序员 职业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 12/20 页 数字范 围校验器 需要三个参数( arg),第一个参数 arg0 是指定这个字段的名字(由名称为 所表示的名称 ),第二个和第三个参数指定范围的最大和最小值,分别 由 名称是 max和 min的变量所决定 (本示例所要求的用户年龄为 18 到 120岁之间)。 4)最大长度校验器( Maxlength Validator) 最大长度校验器 校验一个字符串的最大长度不能超过所规定的字符个数。 它需要两个参数, arg0 说明字段的名称, arg1 说明最大长度的具体数据值。 下面的【例 517】所示为某个表单中应用 Validator 验证器 框架对“ userPassWord”(用户的密码)属性字段应用 Maxlength 校验器 验证定义示例。 【例 517】 对“ userPassWord”属性字段应用 Maxlength 校验器 验证定义示例 field property=userPassWord depends=maxlength msg name=maxlength key=/ arg0 key= / arg1 name=maxlength key=${var:maxlength} resource=false / var varnamemaxlength/varnamevarvalue10/varval。j2ee项目实训struts框架技术——第5章struts框架actionform组件及应用第2部分
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。