JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,Hibernate Validator 是 Bean Validation 的参考实现
- 注解
注解 | 适用字段 | 说明 |
@DecimalMax / @DecimalMin | BigDecimal | 注意小数存在精度问题 |
@Future / @Past | Date,Calendar | 验证值是否在当前时间之后 / 之前 |
@Max / @Min | String、int 等 | 验证值是否小于或者等于指定的整数值 |
@NotNull / @Null | 引用数据类型 | 验证值是否为非空 / 空 |
@Pattern | String | 验证值是否配备正则表达式关选项 |
@Size | String,Collection,Map 数组 | 验证值是否满足长度要求 |
@NotBlank | String | 非空验证 |
- 依赖
<!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.16.Final</version>
</dependency>
- 示例
//注解形式
@Data
public class UmsAdminParam {
@Size(min = 6, max = 19)
private String name;
@NotNull
private Integer age;
@NotBlan
private Integer remark;
}
//使用@Valid注解, 告诉spring这个数据需要校验
@PostMapping("/api/register")
public Result<String> register(@Valid @RequestBody UmsAdminParam user) {
//todo
}