@Validated和@Valid区别:Spring validation 与Hibernate Validator

 

2018年07月02日 13:30:30 淡淡的C 阅读数:700

Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303规范,是标准JSR-303的一个变种),javax提供了@Valid(标准JSR-303规范),配合BindingResult可以直接提供参数验证结果。

检验Controller入参规范时,@Validated和@Valid在基本验证功能上没有太多区别。但在分组、注解地方、嵌套验证等功能上有所不同:

1. 分组

@Validated:提供分组功能,可以在入参验证时,根据不同的分组采用不同的验证机制。

@Valid:没有分组功能。

 

2. 注解

@Validated:用在类型、方法和方法参数上。但不能用于成员属性(field)。

@Valid:可以用在方法、构造函数、方法参数和成员属性(field)上。

 

3. 嵌套验证

一个待验证的pojo类,其中还包含了待验证的对象,需要在待验证对象上注解@valid,才能验证待验证对象中的成员属性。

 

转载自:https://blog.csdn.net/quanaianzj/article/details/80883029

你可能感兴趣的:(springboot)