- @Validated 注解是 JSR-303 中 Valid 的变体,支持了分组验证的规范,因此使用此注解需要引入支持 JSR-303 校验框架。设计用于方便使用 Spring 的 JSR-303 支持,但不是特定于 JSR-303 的。JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是 Hibernate Validator。
- @Validated 有以下参数:
参数 |
描述 |
value |
指定一个或多个类的验证组以应用于由此注释启动的验证步骤,默认 {},即当前注解类
JSR-303 将验证组定义为自定义注解,应用程序声明这些注解的唯一目的是将它们用作类型安全的组参数,如 SpringValidatorAdapter 中所实现的那样。其他 SmartValidator 实现也可能以其他方式支持类参数。 |
示例
public class User {
@NotNull
@Size(min = 4, max = 15)
private String password;
@NotBlank
private String name;
}
@Controller
Public class MainController(){
@PostMapping("/editUser")
public ResultVo editUser(@RequestBody @Validated User user){
return ResultVoUtil.success(form);
}
}
注
- 可以与 Spring MVC 处理程序方法参数一起使用。通过 SmartValidator 的验证提示概念提供支持,验证组类充当提示对象。