Spring Boot技术知识点:Bean Validation

时间:2025-03-12 09:14:09

文档解释

包含所有Bean验证提供的约束,也称为内置约束。

这些约束并不涵盖所有功能用例,但代表了所有基本块,以表达基本JDK类型的低级约束。

注解类型

@AssertFalse

【功能说明】

带注释的元素必须为false。支持的类型为boolean和Boolean。验证 boolean或Boolean 对象是否为 false。空元素被认为是有效的。

【可选元素摘要】

修饰符和类型 可选元素和描述
Class<?>[] groups 
String message 
Class<? extends Payload>[] payload 

@

【功能说明】

在同一元素上定义多个AssertFalse注释。

【可选元素摘要】

修饰符和类型 可选元素和描述
AssertFalse[] value

@AssertTrue

【功能说明】

带注释的元素必须为true。支持的类型为boolean和Boolean。验证 boolean或Boolean 对象是否为 true空元素被认为是有效的。

 【可选元素摘要】

修饰符和类型 可选元素和描述
Class<?>[] groups 
String message 
Class<? extends Payload>[] payload 

@

【功能说明】

在同一元素上定义多个AssertTrue注释。

【可选元素摘要】

修饰符和类型 可选元素和描述
AssertFalse[] value

@DecimalMax

【功能说明】

带注释的元素必须是一个数值,其值必须小于或等于指定的最大值。支持的类型包括:

BigDecimal
BigInteger
CharSequence
byte, short, int, long, 和各自的包装

请注意,由于舍入错误,不支持double和float(一些提供程序可能提供一些近似支持)。空元素被认为是有效的。

【必选元素摘要】

修饰符和类型 必选元素和描述
String

value

根据BigDecimal字符串表示法,最大值的字符串表示法。

 【可选元素摘要】

修饰符和类型 可选元素和描述
Class<?>[] groups 
boolean

inclusive

判断指定的最大值是包含的还是独占的

String message 
Class<? extends Payload>[] payload 

@

【功能说明】

在同一元素上定义多个DecimalMax注释。

【可选元素摘要】

修饰符和类型 可选元素和描述
DecimalMax[] value

@DecimalMin

【功能说明】

带注释的元素必须是一个数值,其值必须大于或等于指定的最小值。支持的类型包括:

BigDecimal
BigInteger
CharSequence
byte, short, int, long, 和各自的包装

请注意,由于舍入错误,不支持double和float(一些提供程序可能提供一些近似支持)。空元素被认为是有效的。

【必选元素摘要】

修饰符和类型 必选元素和描述
String

value

根据BigDecimal字符串表示法,最小值的字符串表示法。

 【可选元素摘要】

修饰符和类型 可选元素和描述
Class<?>[] groups 
boolean

inclusive

判断指定的最小值是包含的还是独占的

String message 
Class<? extends Payload>[] payload 

@

【功能说明】

在同一元素上定义多个DecimalMin注释。

【可选元素摘要】

修饰符和类型 可选元素和描述
DecimalMin[] value

@Digits

【功能说明】

带注释的元素必须是可接受范围内的数字支持的类型为:

BigDecimal
BigInteger
CharSequence
byte, short, int, long,各自的包装

空元素被认为是有效的。

【必选元素摘要】

修饰符和类型 必选元素和描述
int

fraction 

此数字可接受的最大小数位数。

int

integer 

此数字可接受的最大整数位数。

【可选元素摘要】

修饰符和类型 可选元素和描述
Class<?>[] groups 
String message 
Class<? extends Payload>[] payload 

@

【功能说明】

在同一元素上定义多个Digits注释。

【可选元素摘要】

修饰符和类型 可选元素和描述
Digits[] value

@Email

【功能说明】

字符串必须是格式正确的电子邮件地址。有效电子邮件地址的确切语义留给Bean验证提供者。接受CharSequence。

【可选元素摘要】

修饰符和类型 可选元素和描述
Class<?>[] groups 
String message 
Class<? extends Payload>[] payload 
[]

flags 

与regexp()结合使用,以指定正则表达式选项。

String

regexp 

注释元素必须匹配的附加正则表达式。默认值为任何字符串(“.*”)。

@

【功能说明】

在同一元素上定义多个Email注释。

【可选元素摘要】

修饰符和类型 可选元素和描述
Email[] value

@Future

【功能说明】

带注释的元素必须是将来的日期。Now是根据虚拟机定义的当前时间。如果比较的类型是calendar类型,则使用的日历是基于当前时区和当前区域设置的日历。支持的类型包括:和。空元素被认为是有效的。

【可选元素摘要】

修饰符和类型 可选元素和描述
Class<?>[] groups 
String message 
Class<? extends Payload>[] payload 

@

【功能说明】

在同一元素上定义多个Future注释。

【可选元素摘要】

修饰符和类型 可选元素和描述
Future[] value

@Max

【功能说明】

带注释的元素必须是一个数值,其值必须小于或等于指定的最大值。支持的类型包括:

BigDecimal
BigInteger
byte, short, int, long,各自的包装

请注意,由于舍入错误,不支持double和float(一些提供程序可能提供一些近似支持)。空元素被认为是有效的。

【必选元素摘要】

修饰符和类型 必选元素和描述
long

value

元素的值必须小于或等于。

【可选元素摘要】

修饰符和类型 可选元素和描述
Class<?>[] groups 
String message 
Class<? extends Payload>[] payload 

@

【功能说明】

在同一元素上定义多个Max注释。

【可选元素摘要】

修饰符和类型 可选元素和描述
Max[] value

@Min

【功能说明】

带注释的元素必须是一个数值,其值必须大于或等于指定的最小值。支持的类型包括:

BigDecimal
BigInteger
byte, short, int, long,各自的包装

请注意,由于舍入错误,不支持double和float(一些提供程序可能提供一些近似支持)。空元素被认为是有效的。

【必选元素摘要】

修饰符和类型 必选元素和描述
long

value

元素的值必须大于或等于。

【可选元素摘要】

修饰符和类型 可选元素和描述
Class<?>[] groups 
String message 
Class<? extends Payload>[] payload 

@

【功能说明】

在同一元素上定义多个Min注释。

【可选元素摘要】

修饰符和类型 可选元素和描述
Min[] value

@NotNull

【功能说明】

带注释的元素不能为null。接受任何类型。

 【可选元素摘要】

修饰符和类型 可选元素和描述
Class<?>[] groups 
String message 
Class<? extends Payload>[] payload 

@

【功能说明】

在同一元素上定义多个NotNull注释。

【可选元素摘要】

修饰符和类型 可选元素和描述
NotNull[] value

@Null

【功能说明】

带注释的元素必须为null。接受任何类型。

 【可选元素摘要】

修饰符和类型 可选元素和描述
Class<?>[] groups 
String message 
Class<? extends Payload>[] payload 

@

【功能说明】

在同一元素上定义多个Null注释。

【可选元素摘要】

修饰符和类型 可选元素和描述
Null[] value

@Past

【功能说明】

带注释的元素必须是过去的日期。现在根据虚拟机定义为当前时间。如果比较类型为calendar类型,则使用的日历是基于当前时区和当前区域设置的日历。支持的类型包括:和。

【可选元素摘要】

修饰符和类型 可选元素和描述
Class<?>[] groups 
String message 
Class<? extends Payload>[] payload 

@

【功能说明】

在同一元素上定义多个Past注释。

【可选元素摘要】

修饰符和类型 可选元素和描述
Past[] value

@Pattern

【功能说明】

带注释的CharSequence必须与指定的正则表达式匹配。正则表达式遵循Java正则表达式约定。 接受CharSequence。空元素被认为是有效的。

【必选元素摘要】

修饰符和类型 必选元素和描述
String

regexp

要匹配的正则表达式。

【可选元素摘要】

修饰符和类型 可选元素和描述
Class<?>[] groups 
[]

flags 

解析正则表达式时考虑的标志数组

String message 
Class<? extends Payload>[] payload 

@

【功能说明】

在同一元素上定义多个Pattern注释。

【可选元素摘要】

修饰符和类型 可选元素和描述
Pattern[] value

@Size

【功能说明】

带注释的元素大小必须在指定的边界(包括)之间。

支持的类型包括:

CharSequence(评估字符序列的长度)

Collection (评估集合大小)

Map(评估Map大小)

Array(计算数组长度)

空元素被认为是有效的。

【可选元素摘要】

修饰符和类型 可选元素和描述
Class<?>[] groups 
int

max 

元素的大小必须小于或等于。

String message 
int

min 

元素大小必须大于或等于。

Class<? extends Payload>[] payload 

@

功能说明】

在同一元素上定义多个Size注释。

【可选元素摘要】

修饰符和类型 可选元素和描述
Size[] value

总结

实践出真知,钻研出智慧。不管有多难,不顾一切,保持一颗智勇的心,静心钻研,分析问题,思维严密,寻找和抓住突破口,到时候才能解决问题。克服难题,就得有耐心,不然无法挑战自我,突破极限。

到这里为止,欢迎大神们随便吐槽我所写的技术文章,抓住我的痛点,请献上最宝贵的最佳的技术方案吧。放心吧,我不会复仇大家,因为大家永远都是我最好的导师。若大家对此有疑惑的地方,就能找我讨论一下,开阔眼界,增长见识。我希望得到大家的鼓励和点赞,将是我创作的最大动力。

作者声明

本篇经验系本人依照真实经历原创,需要转载到博客、自媒体平台、技术网站等,未经许可,严格遵守本人的知识版权,谢绝转载。如想转载,请联系本人授权。

联系邮箱:3403978592@

微信号:X9267543839