分组校验(@Validated)

Exisi 2022-06-28 08:17:58
Categories: Tags:
  • @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 的验证提示概念提供支持,验证组类充当提示对象。

 

 

来自 <https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/validation/annotation/Validated.html>