Spring 提供的参数效验注解

Spring 提供的效验规则

Bean Validation 中内置的 constraint

Constraint用法适用类型约束来源
@Null被注解的字段必须为空JSR303
@NotNull被注解的字段必须不为空JSR303
@NotBlank带注释的元素不能为null,并且必须至少包含一个非空白字符JSR380
@NotEmpty带注释的元素不能为null也不能为空。String(长度)集合(大小)数组(长度)JSR380
@AssertTrue检查该字段必须为TrueBooleanJSR303
@AssertFalse检查该字段必须为FalseBooleanJSR303
@Min(value)被注解的字段必须大于等于指定的最小值BooleanJSR303
@Max(value)被注解的字段必须小于等于指定的最大值BooleanJSR303
@Negative带注释的元素必须是严格的负数(0被认为是无效值)BigDecimal,BigInteger,
byte,short,int,long及其的包装类
JSR380
@NegativeOrZero带注释的元素必须是严格的负数或0BigDecimal,BigInteger,
byte,short,int,long及其的包装类
JSR380
@Positive带注释的元素必须是严格的正数数(0被认为是无效值)BigDecimal,
byte,short,int,long及其的包装类
JSR380
@PositiveOrZero带注释的元素必须是严格的正数或0BigDecimal,BigInteger,
byte,short,int,long及其的包装类
JSR380
@DecimalMin被注解的字段必须大于等于指定的最小值BigDecimal、BigInteger、String,
byte,short,int,long及其的包装类
JSR303
@DecimalMax被注解的字段必须小于等于指定的最大值BigDecimal、BigInteger、String,
byte,short,int,long及其的包装类
JSR303
@Size(min=,max=)被注解的字段的Size必须在min和max之间,不需要判空字符串、数组、集合JSR303
@Digits(integer, fraction)被注解的字段必须在指定范围内,整数部分长度小于integer,小数部分长度小于fraction字符串、数组、集合JSR303
@Past被注解的字段必须是一个过去的日期字符串、数组、集合JSR303
@PastOrPresent被注解的字段必须是过去或现在的日期或时间。JSR380
@Future被注解的字段必须是一个将来的日期字符串、数组、集合JSR303
@FutureOrPresent被注解的字段必须是现在或将来的日期或时间。JSR380
@Email字符串必须是格式正确的电子邮件地址StringJSR380
@Pattern(value)被注释的字段必须符合指定的正则表达式字符串、数组、集合JSR303

Hibernate Validator 附加的 constraint

数据整理自版本 hibernate-validator-6.0.11.final
api文档

Constraint用法适用类型
@CreditCardNumber带注释的元素必须代表有效的信用卡号。
这是Luhn算法实现,旨在检查用户错误,而不是信用卡有效性!
@EAN检查带注释的字符序列是否为有效的EAN 13(条形码)编号。
验证号码和校验位的长度支持的类型是CharSequence。null被认为是有效的。
@ISBN检查带注释的字符序列是否为有效的国际标准书号(ISBN))。
数字的长度和校验位都经过验证。支持的类型是CharSequence。
null被认为是有效的。
验证期间,将忽略所有非ISBN字符。所有数字和’X’都被视为有效的ISBN字符。
@Length检查带注释的字符串是否包含在最小值和最大值之间
@Range(min,max)带注释的元素必须在min和max之间数字或者可以被解析为数字的字符串
@SafeHtml(...)验证用户提供的富文本值,以确保它不包含恶意代码,例如嵌入的script元素。具体用法参考官方文档String
@UniqueElements验证提供的Collection中的每个对象都是唯一的,即我们在集合中找不到2个相等的元素。Collection
@URL验证带注释的字符串是否为URL。参考官方文档String

reference

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值