【Validation】@Validated和@Valid的区别和使用
概述
- @Valid是JSR303声明的,Hibernate validation对其进行实现
- @Validated是只用Spring Validator校验机制使用
区别
注解位置
@Validated:用在类型、方法和方法参数上。但不能用于成员属性(field)
@Valid:可以用在方法、构造函数、方法参数和成员属性(field)上
分组校验
@Validated 提供分组功能
组序列
@Validated 提供
嵌套校验
@Valid支持
使用
- 批量操作,批量数量控制,对象校验
@RequestMapping(value = "/agent/deploy",method= RequestMethod.POST)
public ApiResult batchDeploy(@Valid @RequestBody @Size(min = 1,max = 20,message = "可选择的批量操作范围在1~20") AgentDeployDto[] dtos) {
...
}