Spring-Validator 的主要意图是为 Spring MVC 提供简洁、可配置的,实现类似于Struts的验证机制,提高 Spring 的开发效率。
- 主要功能是:
使用配制文件,
1. 提供 Spring 客户端验证机制;
2. 提供 Spring 服务器端通用的可配置的验证;
如果大家有兴趣,请到 http://sourceforge.net/projects/js-validation/ 下载,里边有例子,建议大家先看看例子(或者看struts-validator的那个例子也可以,效果差不多)。
下边,我将具体说明
1. 客户端的使用
2. 服务器端的使用
由于配置文件和struts中相同,且struts是如此的流行、广泛,所以不说配制文件的编写了,请查看struts的相关资料(只需修改使用dist下的validator-rules.xml、validation.xml即可)
1. 客户端的使用 原理呢,就是通过读取配制,在JSP页面中生成相应的javascript,然后点击submit的时候,Alert出相应的信息(虽然很多人讨厌这种方式,但这是最快最直接应用最广的方式,P:个人感觉,没有数据依据)。
具体的过程呢,当然先是开发页面和程序,然后想到要加入验证机制,如姓名不能为空,生日必须是 yyyy-mm-dd等,还强烈的想看到客户在提交后被弹出对话框吓一跳,那么,我们开始吧,嘿嘿
首先,配置先行了,在validation.xml中声明需要验证的form。
其次,在 -servlet.xml中,声明apachValidatorResolvers
<bean >
<property >
<value>validator-rules.xml,validation.xml</value>
</property>
</bean>
bean的id不一定非叫 apachValidatorResolvers,看自己习惯了。它用途是初始化配置,需要指定validator-rules.xml,validation.xml的位置,由于犯懒,同时也为了显示它的用途,没有提供默认值。
然后,声明 javascriptValidator
<bean />
同样,id不做要求。它的主要是为生成所需的javascript,提供给taglib或者interceptor或者其他。
最后,就是JSP的修改了。 加入对验证taglib的声明
<%@ taglib prefix="vld" uri="http://www.avidmouse.com/tags"%>
在适当的位置(form后边),加入taglib引用
<vld:validate validationName="registrationForm" page="0"/>
page 默认值是0,所以page="0"可以省略
好了,enjoy it。
2. 服务器端的使用 原理呢,实现org.springframework.validation.Validator,提供一个通用的validator。
具体过程,和客户端的差不多,在需要添加验证时
首先,在validation.xml中声明需要验证的form。
其次,在 -servlet.xml中,声明apachValidatorResolvers
<bean >
<property >
<value>validator-rules.xml,validation.xml</value>
</property>
</bean>
然后,为需要进行验证的form声明一个验证bean
<bean >
<property >
<ref local="apachValidatorResolvers"/>
</property>
<property ><value>com.avidmouse.validator.simple.bus.RegistrationForm</value></property>
<property ><value>RegistrationForm</value></property>
<property ><value>0</value></property>
</bean>
formClass就是SimpleFormController的commandClass
validatorName就是在配制中声明的form名称
page 默认值是0,如果是0 ,可以不声明。
最后,声明需要验证的bean的validator为上一步声明的bean
<bean >
<property ><value>true</value></property>
<property ><value>com.avidmouse.validator.simple.bus.RegistrationForm</value></property>
<property ><ref bean="registrationValidator"/></property>
<property ><value>registration</value></property>
<property ><value>regInfo</value></property>
</bean>
好了,enjoy it again。
写完上面的也许你会发现还是运行不了.老是提示:no suche Message 为什么呢?打开validator-rules.xml文件看看.他还需要求要properties文件的.
什么也不用说,打开vaildator-rules.xml文件,去把前面有段注释的文字如下:
#Created by JInto - www.guh-software.de
#Wed Nov 30 17:13:29 CST 2005
errors.byte={0} must be a byte.
errors.creditcard={0} is an invalid credit card number.
errors.date={0} is not a date.
errors.double={0} must be a double.
errors.email={0} is an invalid e-mail address.
errors.float={0} must be a float.
errors.integer={0} must be an integer.
errors.invalid={0} is invalid.
errors.long={0} must be a long.
errors.maxlength={0} can not be greater than {1} characters.
errors.minlength={0} can not be less than {1} characters.
errors.range={0} is not in the range {1} through {2}.
errors.required={0} is required.
errors.short={0} must be a short.
errors.timecheck=please input right date.
errors.twofields=please input same fields.
生成一个messages_en.properties加载到Spring 中就可以啦
分享到:
相关推荐
4. **与其他框架的集成**:库可以方便地与Spring、Jackson、Gson等Java JSON处理框架集成,使得在整个应用程序中实现JSON Schema验证变得简单。 5. **性能优化**:虽然JSON Schema验证可能涉及复杂的递归和规则检查...
2. **配置(Configuration)**:Validator框架允许通过XML配置文件定义验证规则,这使得可以在不修改代码的情况下更改验证策略。在`commons-validator-1.3.1.jar`中,你可以找到相关的配置文件,如`validation.xml`...
2. **配置Spring**:在Spring配置文件中启用`Hibernate-Validator`。可以通过配置`LocalValidatorFactoryBean`来实现。 ```xml <bean id="validator" class="org.springframework.validation.beanvalidation....
在Spring MVC的配置文件中,我们需要启用Spring的Data Binding和Validator支持。通常在`web.xml`或者Spring的配置类中添加以下配置: ```xml <!-- web.xml 示例 --> <filter-name>characterEncodingFilter...
Hibernate Validator可以轻松地与Spring、JSF等框架集成,实现跨层的验证。此外,它还提供了一个命令行工具,允许在不运行应用程序的情况下对Bean进行验证,这对于单元测试和持续集成尤其有用。 总结 Hibernate ...
在实际应用中, Commons Validator通常与其他Java EE框架如Struts、Spring等集成,用于Web表单验证,确保应用程序的数据一致性。此外,由于其良好的可扩展性和灵活性,它也被广泛应用于服务端数据处理、后台逻辑验证...
在实际项目中,需要将Hibernate Validator加入到项目的类路径中,并配置相应的验证规则,通常通过在配置文件中声明验证约束,或在代码中动态设置。 总结来说,Hibernate Validator 4.1.0.Final是Java开发中不可或...
在 Hibernate Validator 6.0.2.Final 版本中,包含了所有执行验证功能所需的 jar 包,这使得开发者可以直接集成到项目中,无需额外配置其他依赖。这个版本可能包含了如下组件: 1. `hibernate-validator-6.0.2....
2. **配置文件**:在Spring Boot等框架中,可能有一个`application.properties`或`application.yml`文件,用于配置Hibernate Validator的行为,例如定制错误消息模板。 3. **实体类(Entity)**:项目中会有代表...
1. Web 应用:在 MVC 框架(如 Spring MVC)中,Hibernate Validator 可以与 Model 属性结合,实现前端表单提交数据的验证。 2. RESTful API:验证 JSON 请求参数的有效性,保证服务接口的健壮性。 3. 业务逻辑:...
在项目中添加Hibernate Validator的依赖,例如在Maven项目中,可以在pom.xml文件中添加如下配置: ```xml <groupId>org.hibernate <artifactId>hibernate-validator <version>4.1.0.Final ``` 3.2 注解使用 ...
5. **与Spring框架的集成**:4.0.0.CR1版本中,与Spring的集成更加紧密,可以方便地在Spring MVC中进行验证。 三、使用方法 1. **依赖配置**:在Maven项目中,需添加以下依赖: ```xml <groupId>org.hibernate ...
8. **异常处理**:通过`@ExceptionHandler`注解或配置文件,可以全局地处理应用程序可能出现的异常。 这两个库共同构建了Spring MVC框架的基础,使得开发人员能够以声明式的方式编写Web应用程序,降低了代码的...
2. 配置:在Spring的配置文件中,启用自动扫描并配置MessageSource,以便获取自定义的错误消息。 3. 使用注解:在模型类中使用Bean Validation的注解,例如在字段上添加`@NotNull`表示该字段不能为空。 4. 验证:在...
ElSql的工作原理是,当需要执行SQL时,开发者只需要在Java代码中调用预先定义好的ID,ElSql会自动从配置文件中查找对应的SQL并执行。这种方式避免了在代码中直接写SQL,使得数据库查询逻辑更易于管理和重构,同时也...
1. **Spring Boot**:Spring Boot的核心特性包括自动配置、嵌入式服务器、健康检查、内建安全支持等。它的“starter”组件是为了快速引入特定功能而设计的,例如这里的"spring-boot-starter-validation"是为了在...
4. **Spring MVC与Hibernate Validator的整合**:在Spring MVC中,可以通过配置将Hibernate Validator作为验证引擎。然后,通过`@Valid`注解在控制器方法参数前,触发对传入对象的验证。如果验证失败,Spring MVC会...
1. **Web开发**:在Spring MVC或JSF等框架中,Hibernate Validator可以与视图层紧密结合,实现实时验证。 2. **领域模型**:在领域驱动设计中,验证是保持领域模型完整性的关键部分。 3. **服务层**:在服务层进行...
**通用验证器(common-validator)** 在Web开发中,数据验证是不可或缺的一环,尤其是在客户端进行JavaScript编程时。`common-validator`是一款专为JavaScript设计的轻量级验证框架,旨在简化和增强网页表单数据的...
在Spring MVC中,可以结合Hibernate Validator实现控制器参数的自动验证,通过配置MessageConverter和HandlerExceptionResolver,使得异常信息能被正确处理并返回给客户端。 六、实际应用场景 1. **表单验证**:在...