Java Validation Api使用方法实例解析

 更新时间:2020年09月07日 10:26:30   作者:果果虫  
这篇文章主要介绍了Java Validation Api使用方法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  在我们应用程序的业务逻辑中,经常会碰到参数校验的情况,手动的在代码层上面进行校验就会带来很不好的体验,阅读、维护的成本会大大增加,造成冗余。因此有了这个JSR 303。

  Bean Validation为JavaBean提供了相应的API来给我们做参数的验证。通过Bean Validation比如@NotNull @Pattern等方法来对我们字段的值做进一步的教研。

  Bean Validation是一个运行时框架,在验证之后错误信息会直接返回。

依赖:

<!--添加依赖-->
<dependency>
 <groupId>javax.validation</groupId>
 <artifactId>validation-api</artifactId>
 <version>2.0.1.Final</version>
</dependency>

注意: SpringBoot2 项目web组件已经内置了这个依赖了。

版本提供依赖:

依赖注释:

注解 用途
AssertFalse 用于boolean字段,该字段的值只能为false
AssertTrue 用于boolean字段,该字段只能为true
DecimalMax(value) 被注释的元素必须是一个数字,只能大于或等于该值
DecimalMin(value) 被注释的元素必须是一个数字,只能小于或等于该值
Digits(integer,fraction) 检查是否是一种数字的(整数,小数)的位数
Email 被注释的元素必须是电子邮箱地址
Future 检查该字段的日期是否是属于将来的日期
FutureOrPresent 判断日期是否是将来或现在日期
Max(value) 该字段的值只能小于或等于该值
Min(value) 该字段的值只能大于或等于该值
Negative 判断负数
NegativeOrZero 判断负数或0
NotBlank 只能用于字符串不为null,并且字符串trim()以后length要大于0
NotEmpty 集合对象的元素不为0,即集合不为空,也可以用于字符串不为null
NotNull 不能为null
Null 必须为 null
Past 检查该字段的日期是在过去
PastOrPresent 判断日期是否是过去或现在日期
Pattern(value) 被注释的元素必须符合指定的正则表达式
Positive 判断正数
PositiveOrZero 判断正数或0
Size(max, min) 检查该字段的size是否在min和max之间,可以是字符串、数组、集合、Map等
Length(max, min) 判断字符串长度
CreditCardNumber 被注释的字符串必须通过Luhn校验算法,银行卡,信用卡等号码一般都用Luhn计算合法性

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 配置IDEA中java项目配置swagger全过程

    配置IDEA中java项目配置swagger全过程

    这篇文章主要介绍了配置IDEA中java项目配置swagger全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • SpringBoot实现滑块验证码验证登陆校验功能详解

    SpringBoot实现滑块验证码验证登陆校验功能详解

    验证码作为一种自然人的机器人的判别工具,被广泛的用于各种防止程序做自动化的场景中。传统的字符型验证安全性已经名存实亡的情况下,各种新型的验证码如雨后春笋般涌现,今天给大家分享一篇SpringBoot实现滑块验证码
    2022-09-09
  • 启动异常invalid constant type:15的解决方案

    启动异常invalid constant type:15的解决方案

    今天小编就为大家分享一篇关于启动异常invalid constant type:15的解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • 使用Spring Boot的LoggersEndpoint管理日志级别

    使用Spring Boot的LoggersEndpoint管理日志级别

    这篇文章主要为大家介绍了使用Spring Boot的LoggersEndpoint管理日志级别,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • java 导入Excel思路及代码示例

    java 导入Excel思路及代码示例

    这篇文章主要介绍了java 导入Excel思路及代码示例,简要分析了设计思路,然后分享了实例代码,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • 为zookeeper配置相应的acl权限

    为zookeeper配置相应的acl权限

    这篇文章主要介绍了为zookeeper配置相应的acl权限的相关实例,具有一定参考价值,需要的朋友可以了解下。
    2017-09-09
  • myeclipse开发servlet_动力节点Java学院整理

    myeclipse开发servlet_动力节点Java学院整理

    MyEclipse,是在eclipse基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。下面这篇文章主要给大家介绍了关于myeclipse开发servlet的相关资料,需要的朋友可以参考下。
    2017-07-07
  • Java实现删除PDF中指定页面

    Java实现删除PDF中指定页面

    这篇文章主要为大家详细介绍了如何使用一个免费的国产Java库来删除PDF中的指定页面或者删除PDF中的空白页,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-11-11
  • SpringBoot 将配置文件挂到 jar 包外面的操作方法

    SpringBoot 将配置文件挂到 jar 包外面的操作方法

    在 SpringBoot 中,可以将配置文件放在 jar 包外面,这样可以方便地修改配置而不需要重新打包和部署,这篇文章主要介绍了SpringBoot 如何将配置文件挂到 jar 包外面,需要的朋友可以参考下
    2023-03-03
  • Java批量从svn导出多个项目代码实例

    Java批量从svn导出多个项目代码实例

    这篇文章主要介绍了java批量从svn导出多个项目代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03

最新评论