1、Validation与Valid比较
Spring Validation验证框架对参数的验证机制提供了@Validated(Spring’s JSR-303 规范,是标准 JSR-303 的一个变种),javax提供了@Valid(标准JSR-303规范)
1.1 分组校验
- @Validated:提供了一个分组功能,可以在入参验证时,根据不同的分组采用不同的验证机制,这个网上也有资料,不详述。
- @Valid:作为标准JSR-303规范,还没有吸收分组的功能。
1.2 注解地方
- @Validated:可以用在类型、方法和方法参数上。但是不能用在成员属性(字段)上
- @Valid:可以用在方法、构造函数、方法参数和成员属性(字段)上
1.3 嵌套验证
- @Validated: 用在方法入参上无法单独提供嵌套验证功能。不能用在成员属性(字段)上,也无法提示框架进行嵌套验证。能配合嵌套验证注解@Valid进行嵌套验证。
- @Valid: 用在方法入参上无法单独提供嵌套验证功能。能够用在成员属性(字段)上,提示验证框架进行嵌套验证。能配合嵌套验证注解@Valid进行嵌套验证。