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配置文件中,使用标签:
- <mvc:annotation-driven />
配置对JSR303的支持,包括制动查找Hibernate-Validator的实现等工作。
1) 校验属性的Constraints的设定。
该步骤就是对要校验的对象的属性,使用已经定义的Constraints对需要校验的属性进行约束。在JSR303中已经定义的Constraint如下:
- 表 1. Bean Validation 规范内嵌的约束注解定义
- 约束注解名称 约束注解说明
- @Null 验证对象是否为空
- @NotNull 验证对象是否为非空
- @AssertTrue 验证 Boolean 对象是否为 true
- @AssertFalse 验证 Boolean 对象是否为 false
- @Min 验证 Number 和 String 对象是否大等于指定的值
- @Max 验证 Number 和 String 对象是否小等于指定的值
- @DecimalMin 验证 Number 和 Strin
2) Validate的触发
在需要校验的对象前增加 @Valid 注解 (该注解位于javax.validation包中)来触发校验。
这样就可以完成针对输入数据User对象的校验了, 校验结果任然保存在BindingResult对象中。