spring 3.1 配置 JCR 303 Bean Validation

A) 导入Hibernate-Validator  
要使用JSR303 校验框架, 需要加入框架的具体实现Hibernate-Validator, 在soureforge上下载最新的Hibernate-Validator, 当前版本为4.2.0 Final版。
在/WEB-INF/lib中导入 hibernate-validator-4.2.0.Final.jar, hibernate-validator-annotation-processor-4.2.0.Final.jar, 导入它的lib/required目录下内容slf4j-api-1.6.1.jar, validation-api-1.0.0.GA.jar;

B) 配置Spring对JSR 303 的支持。 
在你的 <servletName>-servlet.xml配置文件中,使用标签:

[html] view plaincopy
 
  1. <mvc:annotation-driven />  

配置对JSR303的支持,包括制动查找Hibernate-Validator的实现等工作。


1) 校验属性的Constraints的设定
该步骤就是对要校验的对象的属性,使用已经定义的Constraints对需要校验的属性进行约束。在JSR303中已经定义的Constraint如下:

[html] view plaincopy
 
    1. 表 1. Bean Validation 规范内嵌的约束注解定义  
    2. 约束注解名称  约束注解说明  
    3. @Null           验证对象是否为空  
    4. @NotNull    验证对象是否为非空  
    5. @AssertTrue     验证 Boolean 对象是否为 true  
    6. @AssertFalse    验证 Boolean 对象是否为 false  
    7. @Min            验证 Number 和 String 对象是否大等于指定的值  
    8. @Max            验证 Number 和 String 对象是否小等于指定的值  
    9. @DecimalMin     验证 Number 和 Strin

2) Validate的触发
在需要校验的对象前增加 @Valid 注解 (该注解位于javax.validation包中)来触发校验。

这样就可以完成针对输入数据User对象的校验了, 校验结果任然保存在BindingResult对象中。

posted on 2014-02-28 11:21  danielyi  阅读(560)  评论(0编辑  收藏  举报