@validated可以校验哪些_@Validated与@Valid
时间: 2023-09-26 22:05:23 浏览: 113
`@Validated` 和 `@Valid` 都是用于校验数据的注解,但是它们的使用场景和校验规则略有不同。
`@Validated` 是 Spring 提供的校验注解,它可以用于方法、构造函数、类以及接口上。它的作用是告诉 Spring 在执行方法或构造函数时需要进行数据校验,校验规则是通过在方法参数上添加校验注解来实现的。`@Validated` 支持分组校验和级联校验。
`@Valid` 则是 Java 标准库中的校验注解,它只能用于方法参数、字段、方法返回值等元素上。它的作用是告诉 Java 校验框架对该元素进行数据校验,校验规则是通过在该元素上添加校验注解来实现的。`@Valid` 没有分组校验和级联校验的功能。
`@Validated` 支持的校验注解有:
- `@NotNull`:验证对象不为 null,无法查检长度为 0 的字符串
- `@NotEmpty`:验证对象不为 null,长度不为 0
- `@NotBlank`:验证对象不为 null,去除首位空格后,长度不为 0
等等。
而 `@Valid` 支持的校验注解有:
- `@NotNull`:验证对象不为 null,无法查检长度为 0 的字符串
- `@AssertTrue`:验证 Boolean 对象是否为 true
- `@Size`:验证对象(Array, Collection, Map, String)长度是否在指定范围内
- `@Min`:验证 Number 和 String 对象是否大等于指定的值
- `@Max`:验证 Number 和 String 对象是否小等于指定的值
等等。
阅读全文