Validator验证框架:
Validator框架能够克服在ActionForm Bean中以编程方式进行数据验证的局限,它允许Struts应用灵活的配置验证规则,无需编程。
Validator框架主要依赖两个JAR文件:jakarta-oro.jar和commons-validator,.jar
Validator框架采用两个基于XML的配置文件来配置验证规则。这两个文件为validator-rules.xml和validation.xml。
Validator-rules.xml文件保换了一组通用的验证规则,对所有的Struts应用都适用。一般情况下,没有必要修改该文件,除非需要修改或扩展默认的规则。
元素有7个属性:
- Name属性:name属性指定验证规则的逻辑名,这个名字必须是唯一的。
- Classname和method属性:classname和method属性分别指定实现验证规则逻辑的类和方法。
- MethodParams:属性用来指定验证方法包含的参数,多个参数之间以逗号隔开。
- Msg属性:msg属性指定来自于Resource Bundle中的消息key。当验证失败时,Validator框架将根据这个消息key到resource Bundle中查找匹配的消息文本。
- Depends属性:depends属性指定在调用当前验证规则之前必须先调用的其他验证规则。
- Validator框架提供了基本的,通用的验证规则,对struts应用以及非Struts应用都适用。Org.apache.commons.validator.GenericValidator类提供了一组实现这些规则的静态方法。
GenericValidator类的验证方法:
- isBlankOrNull: 验证字段是否为null,或者长度是否为0。
- isByte:验证字段是否可以被转换为有小的byte类型的数据。
- isCreditCard:验证字段是否为有效的信用卡号。
- isDate:验证字段是否为有效的日期。
- isDouble:验证字段是否可以被转换成有效的double类型的数据。
- isEmail:验证字段是否为有效的Email地址。
- isFloat:验证字段是否可以被转换为有效的float类型的数据。
- isInRange:雁阵谷子断时候借于最小值和最大值之间。
- isInt:验证字段是否可以被转换为有效的int类型的数据。
- isLong:验证字段是否可以被转换为有效的long类型的数据。
- isShort:验证字段是否可以被转换为有效的short类型的数据。
- matchTegexp:验证字段是否和正规表达式匹配。
- maxLength:验证字段时候小于或等于最大值。
- minLength:验证字段时候大于或等于最小值。
在Struts框架中定义了专门用于验证表单字段的org.apache.struts.validator.FieldChecks类,它提供了和GenericValidator类似的方法。以下是FieldChecks类包含的验证方法:
validateByte
validateCreditCard
validateDate
validateDouble
validateEmail
validateFloat
validateInteger
validateLong
validateMask
validateMinLength
validateMaxLength
validateRange
validateRequired
validateShort
validation.xml文件:
这个文件是针对于某个具体Struts应用的,需要开发人员来创建,它可以为应用中的ActionForm配置所需的验证规则,取代在ActionForm类中以编程的方式来实现验证逻辑。
Validator框架不能用于验证标准的org.apache.struts.action.ActionForm类。如果要使用Validator框架应该采用ActionForm类的两个子类:DynavalidatorForm和ValidatorForm。
Validator框架可以进行浏览器客户端验证。如果要进行客户端验证,需要用到Struts的
标签,它能够在JSP网页中生成用于客户端验证的JavaScript教本。
分享到:
相关推荐
首先,我们来看第一个实例——Validator_Struct_01。在这个基础案例中,我们将了解如何设置基本的Validator规则并将其应用到ActionForm对象上。Validator框架通过XML配置文件(通常命名为struts-validator.xml或...
### Struts Validator 验证框架详细讲解 #### 引言 在Java Web开发中,数据验证是确保应用程序安全性和用户体验的重要环节。Struts框架作为早期流行的MVC框架之一,提供了强大的验证机制——Struts Validator,它...
Struts提供了Validator框架来进行表单验证,可以在客户端或服务器端进行,防止无效数据进入数据库。 7. **持久化策略** 根据应用需求,你可能需要考虑如何将新添加的数据持久化。这可能涉及到是否需要缓存数据、...
Apache Commons Validator就是这样一个强大的验证框架,它为Java应用程序提供了灵活且可扩展的数据验证功能。本篇文章将深入探讨Apache Commons Validator框架,并通过一个简单的小例子来演示其使用方法。 Apache ...
本文将深入探讨 Struts 的验证机制,并详细介绍其核心组件——Validator。 #### 二、Struts 验证机制概述 Struts 的验证机制主要由两部分组成:内置验证和自定义验证。内置验证提供了常见的数据校验功能,而自定义...
虽然Struts 2不再依赖于单独的验证框架,但提供了类似的机制——基于拦截器的Validation Interceptor。不过,其工作原理和配置方式与Struts 1.x有所不同。 总的来说,Struts的验证框架Validate是提高应用质量的...
### Struts2框架验证——常见类型验证模板解析 #### 一、引言 在Web应用开发过程中,数据验证是确保应用程序稳定性和安全性的重要环节之一。Struts2作为一款流行的Java Web应用框架,提供了丰富的验证机制来帮助...
本章主要讨论Struts框架中的高级特性,包括常用Action的使用、动态ActionForm以及验证框架。 首先,我们来看看Struts中的两种常用Action: 1. **ForwardAction**: ForwardAction的作用是定义一个逻辑路径到具体的...
Struts2的校验框架基于Apache Commons Validator,提供了多种预定义的验证器类型以及自定义验证器的功能。这些验证器可以在配置文件中或代码中定义,用于检查表单字段的有效性。 #### 三、示例分析 ##### 1. 配置...
Struts框架是一个经典的Java Web开发框架,由Apache软件基金会维护,它主要负责处理MVC(Model-View-Controller)架构中的...在Struts2中,虽然验证方式有所变化,但其核心思想——确保数据合法性——依然保持不变。
本学习笔记主要探讨了Struts2中的校验器(Validator)和校验框架,帮助开发者理解如何有效地实现数据验证,确保应用程序的健壮性。 首先,我们来看Struts2的校验框架。这个框架提供了强大的功能,可以对用户输入...
3. **运用Validator验证框架**:精通Struts的Validator框架进行表单验证,确保输入数据的有效性和安全性。 4. **掌握JSF体系结构与工作原理**:理解JSF(JavaServer Faces)的组件模型、生命周期及事件处理流程,...
4. **ValidatorPlugIn**:在`struts-config.xml`中配置的插件,它负责启动Validator框架,并将验证规则应用于ActionForm。 5. **validation.xml** 和 **validator-rules.xml**:这两个文件分别定义了具体的验证规则...
Struts2框架提供了ActionForm和Validator插件等手段来实现表单验证。 5. **JavaScript与JSON**:在Ajax中,JavaScript通常用于处理客户端的逻辑,包括发送Ajax请求、处理服务器返回的数据。JSON(JavaScript Object...
这里我们主要探讨三个经典的Java框架——Hibernate、Spring和Struts2,以及Validator表单验证工具。 1. **Hibernate框架**: Hibernate是一个优秀的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久...
- **Struts2**: 提供了更强大的验证框架,包括XWork验证器,支持链式验证规则。 #### Action执行过程 - **Struts1**: 支持为每个请求定义一组处理器(RequestProcessors),但这些处理器对所有Action都是一样的。 ...
9. **Validator框架**:Struts提供了Validator框架,用于验证用户输入的数据,可以自定义验证规则并显示错误消息。 10. **ActionServlet**:Struts的核心Servlet,负责解析请求,根据配置文件中的映射调用相应的...
这种验证方式是基于 `ActionForm` 类的 `validate()` 方法,而不是依赖于外部的验证框架。该方法可以在不引入额外框架的情况下完成基本的数据验证工作。具体实现过程中需要关注以下几个方面: 1. **配置资源文件**...
8. **表单和验证**:详细阐述了Struts2的表单处理和数据验证机制,包括ActionForm的替代品——动态模型驱动的Action,以及使用Validator插件进行验证的方法。 9. **国际化(i18n)**:展示了如何在Struts2中支持多...
总的来说,Struts1 API帮助文档覆盖了框架的所有关键组件和机制,包括但不限于Action、ActionForm、ActionMapping、ActionForward、RequestProcessor、Validator以及各种标签库的使用。通过深入学习和理解这些API,...