Java参数校验工具validation

validation可以做以下事情

  • validation可以抛出统一的参数校验异常,方便定位问题
  • 编程简单,只需要注解就能搞定,不需要编写大量的代码

validation提供以下注解:

注解 属性值类型 功能
@AssertFalse Boolean、boolean 被注释的元素必须为false
@AssertTrue Boolean、boolean 被注释的元素必须为true
@DecimalMax(value) BigDecimal、BigInteger、String、byte、short、int、long及对应类型的封装类 被注释的元素必须是一个数字,其值必须大于等于指定的最大值
@DecimalMin(value) BigDecimal、BigInteger、String、byte、short、int、long及对应类型的封装类 被注释的元素必须是一个数字,其值必须小于等于指定的最小值
@Digits(integer, fraction) BigDecimal、BigInteger、String、byte、short、int、long及对应类型的封装类 被注释的元素必须是一个数字,其值必须在可接受范围内
@Email String 被注释的元素必须是一个邮箱格式的字符串
@Future java.util.Date,
java.util.Calendar;
被注释的元素必须是一个将来的日期
@FutureOrPresent java.util.Date,
java.util.Calendar;
被注释的元素必须是一个将来或者当前的日期
@Max BigDecimal、BigInteger、byte、short、int、long及对应类型的封装类 被注释的元素必须是一个数字,其值必须大于等于指定的最大值
@Min BigDecimal、BigInteger、byte、short、int、long及对应类型的封装类 被注释的元素必须是一个数字,其值必须小于等于指定的最小值
@Negative 被注释的元素必须是一个负数
@NegativeOrZero 被注释的元素必须是一个负数或0
@NotBlank String 被注解的元素值是否为非null,并且去空格之后的length大于0。与@NotEmpty的区别在于,@NotBlank只能注解字符串,并且忽略结尾空格。
@NotEmpty String、Collection、Map、arrays 被注解的元素值是否为非null或空集合。
@NotNull 任意类型 被注释的元素不能为null
@Null 任意类型 被注释的元素必为null
@Past java.util.Date,
java.util.Calendar;
被注释的元素必须是一个过去的日期
@PastOrPresent java.util.Date,
java.util.Calendar;
被注释的元素必须是一个过去或者当前的日期
@Pattern(regexp) String 被注释的元素必须满足指定的正则表达式
@Positive 被注释的元素必须是一个正数
@PositiveOrZero 被注释的元素必须是一个正数或0
@Size(min=, max=) String、Collection、Map、arrays 被注释的元素值大小介于min和max(包含)之间。
public class ValidateVo {@NotBlank(message = "没有名字")private String name;@Email(message = "邮箱格式不对")private String email;@Size(max=16, min=6, message = "密码位数不对")private String password;@Positive(message = "年龄不对")private int age;
}

Java参数校验工具validation相关推荐

  1. Java参数校验validation和validator区别

    Java参数校验validation和validator区别 1. 参数校验概述 2. validation与validator区别 3. validation注解说明 4. validator注解说 ...

  2. springboot中参数校验(validation)使用

    文章目录 介绍: validation引入 可用约束(constraint) 应用实战 实体类 接口参数型 约束生效 实体型 介绍: 在开发中,会经常需要进行参数的校验,比如接口层.业务层.持久层等, ...

  3. Java身份证校验工具类

    Java身份证校验工具类 工作中经常会涉及到身份证的校验,而且需求不同,有的需要校验最后一位校验位,有的不需要,这里参考了几篇文章及自己工作中用到的情况写了一个工具类.记录一下,菜鸟一个,大佬勿喷. ...

  4. java 逻辑校验工具_SpringBoot2.0实战(10)整合fluent-validator优雅业务校验

    相关知识 FluentValidator是一个工具类库,使用流式(Fluent Interface)调用风格让校验跑起来更优雅,代码更简洁,同时验证器(Validator)可以做到开闭原则,实现最大程 ...

  5. Java正则表达式校验工具类_【Java工具类】----正则表达式校验工具类

    /** * @Title: RegexValidateUtil.java * @Package org.csun.nc.util * @Description: TODO * @author chis ...

  6. Python参数校验工具:validate.py

    一直都在找一个比较好用的参数校验工具包(Python),这次终于找到了就做个记录. 包名:validate.py 安装方式:(pip已收入, 当前最新版本是1.3.0) pip install val ...

  7. java参数校验:ValidatorUtils校验框架工具类的使用

  8. Java数据校验(Bean Validation / JSR303)

    文档: http://beanvalidation.org/1.1/spec/ API : http://docs.jboss.org/hibernate/beanvalidation/spec/1. ...

  9. JAVA CRC16校验工具

    1.工具类 import java.math.BigInteger;/*** CRC校验* @author xl**/ public class CRC16Util {static byte[] cr ...

  10. java 参数校验 优雅的,SpringBoot 如何优雅的进行参数校验

    参数的合法性直接影响到程序的安全和性能,因此在进行相关操作前必须检测对象是否为null,是否为blank,是否被初始化等等. 我们先来看看SpringBoot 是如何来检验参数的. 验证总是摆在第一位 ...

最新文章

  1. netty里集成spring注入mysq连接池(一)
  2. java File类 常用相关函数
  3. affectnet数据集_处理表情识别中的坏数据:一篇CVPR 2020及两篇TIP的解读
  4. Modbus RTU 通信工具设计
  5. ICPC-无限路之城
  6. 熬夜都要看完的 Spring 干货!
  7. ICCV 2019 | 微软开源无监督学习的医学图像配准方法:递归级联网络
  8. Two Bases CodeForces - 602A (BigInteger c++long long也可以)
  9. dqkg的命令用法_CADk中常用命令使用方法及说明
  10. ofd文件怎么复制文字
  11. JS中的innerHTML和outerHTML区别
  12. 游戏测试成长之路02-测试用例
  13. 分治策略找第K小元素
  14. android 自定义心电图,Android动态滚动波形图(心电图)的实现
  15. 软件测试原书第二版(佩腾著)-学习笔记(一)
  16. 【以太网硬件二】802.3标准里有哪些内容?
  17. 习题 11.1 将例11.1的程序片断补充和改写成一个完整、正确的程序,用公用继承方式。在程序中应包括输入数据的函数,在程序运行时输入num,name,sex,age,addr的值,程序应输出以上。。
  18. 自学类网站和实用工具(网文来自敖丙)
  19. 山西大同大学技术会,大同大学的家!
  20. MySQL十表联查快速得到结果_MySQL-第十篇多表连接查询

热门文章

  1. 论文复现-金融风控模型案例
  2. java技术英文名词读音_Java开发,Java development,音标,读音,翻译,英文例句,英语词典...
  3. 在移动硬盘上安装ubuntu18.04过程记录
  4. ​VB语言凉凉了!微软宣布放弃不再​更新,GitHub正式收购 npm ,力挺整个JavaScript生态!...
  5. 【java实现地图经纬度逆编码】通过使用百度/高德地图的开放平台 实现经纬度与中文地址的转换(附代码方法)
  6. matlab 图像分割_数字图像处理第三版中_冈萨雷斯【MATLAB】(推书活动第十七期)...
  7. 点云课程学习——点云结构与查找(一)
  8. 如迷的解谜者——Alan Turing
  9. 在matlab中讲矩阵一次性检验,层次分析法原理和matlab代码实现
  10. 3dmax简单的bip制作