JSR303规范与数据校验

jdk中的JSR303规范(javax.validation包)  
jdk实现:javax.validation:validation-api,最终版本1.1.0.Final  
eg:  
javax.validation.NotNull
-- 用于验证非空  

HibernateValidator实现了JSR303规范,并扩展了一些功能  
eg:  
org.hibernate.validator.constraints.Email  
-- 用于验证email地址,此验证为hibernate扩展  


@Valid是JSR303规范中提供的,不支持分组校验,可用于嵌套验证  
eg:
public ResultPoJo<Object> updatePassword(@Valid @RequestBody UpdPwdPo updPwdPo, BindingResult bindingResult) {}  
-- springmvc中对入参启用校验,BindingResult非必须

@NotNull  
private List<@Valid Image> images;  
-- 列表不能为空,列表Image对象会被嵌套校验  

@Valided是spring提供的,分组校验是用,不可用于嵌套验证  
eg:  
public ResultPoJo<Object> updatePassword(@Valided({DefaultGroup.class,cusGroup.class}) @RequestBody UpdPwdPo   updPwdPo, BindingResult bindingResult) {}  
-- 指定的分组会被校验  

猜你喜欢

转载自blog.csdn.net/chinoukin/article/details/82801729