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) {}
-- 指定的分组会被校验