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计算合法性

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

相关文章

  • Java程序快速合并多个Word(docx)文档

    Java程序快速合并多个Word(docx)文档

    这篇文章主要为大家介绍了如何使用Java程序快速合并多个Word(docx)文档实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Java基础之Web服务器与Http详解

    Java基础之Web服务器与Http详解

    无论你是前端开发者还是后端开发者,以及测试工程师,这篇文章的知识都是你需要弄懂的。读完这一篇文章,将全面弄懂 HTTP 协议、TCP 协议,面试官再也难不倒你相关知识
    2021-09-09
  • SpringBoot中@ConfigurationProperties自动获取配置参数的流程步骤

    SpringBoot中@ConfigurationProperties自动获取配置参数的流程步骤

    当需要获取配置文件中很多参数时,我们可以定义参数的前缀相同,通过自动映射 进行获取配置文件中参数,所以本文给大家介绍了SpringBoot中@ConfigurationProperties自动获取配置参数的流程步骤,需要的朋友可以参考下
    2024-11-11
  • idea导入jar包的详细图文教程

    idea导入jar包的详细图文教程

    这篇文章主要给大家介绍了关于idea导入jar包的详细图文教程,文中通过图文将导入的步骤介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-03-03
  • springboot实现配置本地访问端口及路径

    springboot实现配置本地访问端口及路径

    这篇文章主要介绍了springboot实现配置本地访问端口及路径,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • java实现的各种排序算法代码示例

    java实现的各种排序算法代码示例

    这篇文章主要介绍了java实现的各种排序算法代码示例,比较全面,代码亲测可用,如有不足之处,欢迎留言指出。
    2017-10-10
  • Java异常学习之自定义异常详解

    Java异常学习之自定义异常详解

    你的程序总有一天会崩溃掉,在崩溃掉的时候我们要知道它在哪,为了什么而崩溃掉,数据的保存或者丢失情况如何等问题。下面这篇文章主要给大家介绍了关于Java异常学习之自定义异常的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-06-06
  • Java高并发编程之CAS实现无锁队列代码实例

    Java高并发编程之CAS实现无锁队列代码实例

    这篇文章主要介绍了Java高并发编程之CAS实现无锁队列代码实例,在多线程操作中,我们通常会添加锁来保证线程的安全,那么这样势必会影响程序的性能,那么为了解决这一问题,于是就有了在无锁操作的情况下依然能够保证线程的安全,需要的朋友可以参考下
    2023-12-12
  • java线程死锁代码示例

    java线程死锁代码示例

    这篇文章主要介绍了java线程死锁代码示例,分享了一个简单线程死锁的例子,需要的朋友可以参考下。
    2017-11-11
  • SpringMvc @RequestParam 使用推荐使用包装类型代替包装类型

    SpringMvc @RequestParam 使用推荐使用包装类型代替包装类型

    这篇文章主要介绍了SpringMvc @RequestParam 使用推荐使用包装类型代替包装类型,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02

最新评论