关于springboot-valid常用的注解及其意义(spring-boot-starter-validation3.4.1附近的版本)

159 阅读3分钟

基础注解

注解功能适用类型备注
@Null被注释的元素必须为 null任意类型通常用于校验某些字段必须为空的场景,例如更新时某些字段不可修改。
@NotNull被注释的元素必须不为 null任意类型常用于校验必填字段。
@AssertTrue被注释的元素必须为 trueBoolean 或其包装类常用于逻辑校验,例如标识是否接受协议等。
@AssertFalse被注释的元素必须为 falseBoolean 或其包装类用于确保布尔值为 false

数字校验注解

注解功能适用类型备注
@Min(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值数字类型用于校验字段值下限,例如金额、年龄等。
@Max(value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值数字类型用于校验字段值上限,例如人数限制等。
@DecimalMin(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值数字类型(支持小数)@Min 类似,但支持小数校验。
@DecimalMax(value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值数字类型(支持小数)@Max 类似,但支持小数校验。
@Digits(integer, fraction)被注释的元素必须是一个数字,其值必须符合整数位和小数位的限制数字类型(支持小数)用于校验数据精度,例如金额字段的整数位和小数位限制。

集合和字符串校验注解

注解功能适用类型备注
@Size(min, max)被注释的元素的大小必须在指定的范围内集合、数组、字符串等用于校验集合长度或字符串长度,例如密码长度限制。
@NotEmpty被注释的元素必须不为空(不能为空字符串或空集合)字符串、集合常用于校验必填字段,且不能只包含空白字符。
@NotBlank被注释的字符串必须非空(不允许空白字符)字符串类型类似 @NotEmpty,但更严格,适用于字符串。
@Length(min, max)被注释的字符串长度必须在指定范围内字符串类型由 Hibernate Validator 提供,与 @Size 类似。

日期校验注解

注解功能适用类型备注
@Past被注释的元素必须是一个过去的日期日期类型常用于校验生日等字段。
@Future被注释的元素必须是一个将来的日期日期类型常用于校验预约时间等字段。
@PastOrPresent被注释的元素必须是过去或当前的日期日期类型更宽松的过去日期校验。
@FutureOrPresent被注释的元素必须是未来或当前的日期日期类型更宽松的未来日期校验。

正则校验注解

注解功能适用类型备注
@Pattern(regexp)被注释的元素必须符合指定的正则表达式字符串类型用于校验复杂格式,如身份证号、手机号、密码规则等。
@Email被注释的元素必须是一个合法的电子邮箱地址字符串类型支持基本的邮箱格式校验,但不校验域名是否真实存在。

范围校验注解

注解功能适用类型备注
@Range(min, max)被注释的元素必须在指定范围内数字类型由 Hibernate Validator 提供,与 @Min@Max 类似。