JSR提供的注解
注解 | 描述 |
---|---|
@AssertFalse | 所注解的元素必须是 Boolean 类型,并且值为 false |
@AssertTrue | 所注解的元素必须是 Boolean 类型,并且值为 true |
@DecimalMax | 所注解的元素必须是数字,并且它的值要小于或等于给定的BigDecimalString值 |
@DecimalMin | 所注解的元素必须是数字,并且它的值要大于或等于给定的BigDecimalString值 |
@Digits | 所注解的元素必须是数字,并且它的值必须有指定的位数 |
@Future | 所注解的元素的值必须是一个将来的日期 |
@Past | 所注解的元素的值必须是一个已过去的日期 |
@Max | 所注解的元素必须是数字,并且它的值要小于或等于给定的值 |
@Min | 所注解的元素必须是数字,并且它的值要大于或等于给定的值 |
@NotNull | 所注解元素的值必须不能为null |
@Null | 所注解元素的值必须为null |
@Pattern | 所注解的元素的值必须匹配给定的正则表达式 |
@Size | 所注解的元素的值必须是String、集合或数组,并且它的长度要符合给定的范围 |
Hibernate Validator提供的注解
注解 | 描述 |
---|---|
@NotBlank | 所注解的字符串必须不能为null且长度必须大于0 |
所注解的元素必须是电子邮箱地址 | |
@Length | 所注解的字符串的大小必须在指定的范围内 |
@NotEmpty | 所注解的字符串必须非空 |
@Range | 所注解的数字必须在合适的范围内 |
参数校验示例
-
添加@Validated注解在控制器中启用校验
@RestController @RequestMapping("/") @Validated public class Controller { @PostMapping public ObjectRestResponse insert(@NotNull String name) { // ... } }
-
添加@Validated或@Valid注解在参数前启用校验
@RestController @RequestMapping("/") public class Controller {