Validation 全注解+使用示例+官方文档(转)
原文:https://blog.csdn.net/xiaoleizhanghahaha/article/details/83833951 原作: 不死彡邪神

Validation 注解

@AssertFalse 被注解的元素必须为false
@AssertTrue 被注解的元素必须为True
@DecimalMax(value) 被注解的元素必须为一个数字,其值必须小于等于指定的最小值
@DecimalMin(Value) 被注解的元素必须为一个数字,其值必须大于等于指定的最小值
@Digits(integer=, fraction=) 被注解的元素必须为一个数字,其值必须在可接受的范围内
@Future 被注解的元素必须是日期,检查给定的日期是否比现在晚.
@Max(value) 被注解的元素必须为一个数字,其值必须小于等于指定的最小值,检查该值是否小于或等于约束条件中指定的最大值. 会给对应的数据库表字段添加一个 check的约束条件.
@Min BigDecimal,BigInteger, byte,short, int, long,等任何Number或CharSequence(存储的是数字)子类型 验证注解的元素值大于等于@Min指定的value值
@NotNull 被注解的元素必须不为null
@Null 被注解的元素必须为null
@Past(java.util.Date/Calendar); 被注解的元素必须过去的日期,检查标注对象中的值表示的日期比当前早.
@Pattern(regex=, flag=) 被注解的元素必须符合正则表达式,检查该字符串是否能够在match指定的情况下被regex定义的正则表达式匹配.
@Size(min=, max=) 被注解的元素必须在制定的范围(数据类型:String, Collection, Map and arrays)
@Valid 递归的对关联对象进行校验, 如果关联对象是个集合或者数组, 那么对其中的元素进行递归校验,如果是一个map,则对其中的值部分进行校验.
@CreditCardNumber 对信用卡号进行一个大致的验证
@Email 被注释的元素必须是电子油箱地址
@NotEmpty 被注释的对象必须为空(数据:String,Collection,Map,arrays)
@Range(min=, max=) 被注释的元素必须在合适的范围内 (数据:BigDecimal, BigInteger, String, byte, short, int, long and 原始类型的包装类 )
@SafeHtml(whitelistType=, additionalTags=)被注解的元素检查是否标注值包含恶意的片段如
@ScriptAssert(lang=, script=, alias=) 任何类型,要使用这个约束条件,必须先要保证Java Scripting API 即JSR 223 (“Scripting for the JavaTM Platform”)的实现 在类路径当中. 如果使用的时Java 6的话,则不是问题, 如果是老版本的话, 那么需要把 JSR 223的实现添加进类路径. 这个约束条件中的表达式可以使用任何兼容JSR 223的脚本来编写. (更多信息请参考javadoc)
@URL(protocol=, host=, port=, regexp=, flags=) 被注解的对象必须是字符串,检查是否是一个有效的URL,如果提供了protocol,host等,则该URL还需满足提供 的条件
@Length(min=下限, max=上限) CharSequence子类型 验证注解的元素值长度在min和max区间内
@NotBlank CharSequence子类型 验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同于@NotEmpty,@NotBlank只应用于字符串且在比较时会去除字符串的首位空格
@FutureOrPresent
@Negative
@NegativeOrZero
@PastOrPresent
@Positive
@PositiveOrZero
@CreditCardNumber(ignoreNonDigitCharacters=)
@Currency(value=)
@DurationMax(days=, hours=, minutes=, seconds=, millis=, nanos=,inclusive=)
@DurationMin(days=, hours=, minutes=, seconds=, millis=, nanos=,inclusive=)
@EAN
@ISBN

@ValidPart Set<@ValidPart String> parts = new HashSet<>()
@MaxAllowedFuelConsumption Map<@NotNull FuelConsumption, @MaxAllowedFuelConsumption Integer> fuelConsumption = new HashMap<>();
@MinTowingCapacity(1000) private Optional<@MinTowingCapacity(1000) Integer> towingCapacity =Optional.empty();

public void extractValues(GearBox<@ExtractedValue ?> originalValue,
ValueExtractor.ValueReceiver receiver) {
receiver.value( null, originalValue.getGear() );
}
}

private Map<@NotNull Part, List<@NotNull Manufacturer>>partManufacturers =new HashMap<>();

@ValidPassengerCount
public class Car {}

@NotNull
@Valid
private Person driver;

private List<@NotNull @Valid Person> passengers = new ArrayList();

private Map<@Valid Part, List<@Valid Manufacturer>> partManufacturers= new HashMap<>();


示例:

https://blog.csdn.net/u013815546/article/details/77248003

官方文档:

https://docs.jboss.org/hibernate/stable/validator/reference/en-US/pdf/hibernate_validator_reference.pdf

Validation 全注解+使用示例+官方文档相关推荐

  1. 反正你们写的都是没有即时演示的鸡肋教程,我为什么不去看官方文档?

    By Conmajia 我就拿Vue举个栗子. Vue.js是什么,我想你多半知道,我也甭废话了. 这几天看到写Vue教程的文章突然多起来了.不过,就我所见,在这里发表的所有教程文章,都不支持即时演示 ...

  2. Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion

    本篇太乱,请移步: Spring Framework 官方文档学习(四)之Validation.Data Binding.Type Conversion(一) 写了删删了写,反复几次,对自己的描述很不 ...

  3. Spring Framework 官方文档学习(四)之Validation、Data Binding、Type Conversion(二)

    接前一篇 Spring Framework 官方文档学习(四)之Validation.Data Binding.Type Conversion(一) 本篇主要内容:Spring Type Conver ...

  4. 对于微信二维码相关官方文档的一些注解(微信登录和绑定微信、关注公众号)

    转载自:https://www.jianshu.com/p/d533c69be034 由于微信官方文档对此的描述虽然还可以,但是还是有一些让人疑惑的地方,所以笔者做了一些注解,希望对大家有所帮助 为什 ...

  5. redisson使用全解——redisson官方文档+注释(中篇)

    文章目录 八.分布式锁和同步器(重要!) 8.1. 可重入锁(Reentrant Lock) 8.2. 公平锁(Fair Lock) 8.3. 联锁(MultiLock) 8.4. 红锁(RedLoc ...

  6. redisson使用全解——redisson官方文档+注释(上篇)

    文章目录 官方文档 Redisson项目介绍 一.概述 二.配置方法 2.1. 程序化配置方法 2.2. 文件方式配置 2.2.1 通过YAML格式配置 2.3. 常用设置 2.4. 集群模式 2.4 ...

  7. redisson使用全解——redisson官方文档+注释(下篇)

    文章目录 十二.独立节点模式 12.1. 概述 12.2. 配置方法 12.2.1. 配置参数 12.2.2. 通过JSON和YAML配置文件配置独立节点 12.3. 初始化监听器 12.4. 嵌入式 ...

  8. 【百度AI_文字识别】示例身份证图片识别(代码官方文档完整,只需获得修改参数、下载类)

    文章目录 提取身份证信息 第一步:登录 第二步:获取资源 第三步:获取access_token参数(AuthService.java) 第四步:请求代码Idcard.java 第五步:修改Idcard ...

  9. Pydantic官方文档

    1. 简介 1.7.1 版本的文档. 使用Python类型注解进行数据验证和设置管理. Pydantic 在运行时强制执行类型提示,并在数据无效时提供用户友好的错误信息. 定义数据如何表示为纯粹和规范 ...

  10. 《Spring Cloud Netflix官方文档》1.服务发现:Eureka客户端

    1.     服务发现:Eureka客户端 服务发现是微服务架构的关键原则之一.使用手动配置或一些约定方式来处理多服务多实例的方式是非常困难,并且十分脆弱的.Eureka同时是Netflix服务发现的 ...

最新文章

  1. java中完成md5加密解密_java实现md5加密解密 notNET中加密和解密的实现方法
  2. 查看 SELinux状态及关闭SELinu
  3. 华为AR engine 应用开发学习教程
  4. Android启动initlogo.rle制作
  5. Java导入导出Excel工具类ExcelUtil
  6. 电脑怎么卸载软件干净_不要说你的电脑卸载很干净!分享两款卸载神器!
  7. 避免从单体到分布式单体
  8. 实战系列-Spring Cloud微服务中三把利器Feign、Hystrix、Ribbon
  9. JavaScript学习笔记:AJAX基础
  10. linux 启动rsyslog服务_我的服务器怎么老这么慢,难道说是被挖矿了?linux开机启动项自查...
  11. 关于call的使用和原理分析
  12. oracle左裁剪原理,ORACLE 各种PARTITION 的分析(原)
  13. python飞信api_使用python移动飞信模块发送短信
  14. 【雪碧图】url放置图片路径
  15. 解决安装tensorflow-gpu:ImportError: DLL load failed:找不到指定的模块。从根源解决问题
  16. 扬州美女能否走出传说产生经济价值?
  17. SMS发送WapPush
  18. arcgis flex api 由于沙箱安全的原因 无法显示地图 的解决办法
  19. 【Try to Hack】Cobalt Strike(一)
  20. babel 插件为react元素自动添加属性

热门文章

  1. 数十年从事java工作的经验分享
  2. Redis队列和专业MQ的对比和选型
  3. 社交巨人屏蔽Google搜索 Facebook发展强劲拟上市
  4. 用AI打电话骗走22万,Python编写的软件,克隆你的语音只需5秒!
  5. 云通信-腾讯云,TLS独立模式公私钥生成
  6. oracle算加权平均的函数,如何用变异函数计算加权平均数?
  7. Google Earth Engine(GEE)——设置经纬格网(日本东京)
  8. Azure Kinect微软摄像头Unity开发小结
  9. 关于二维数组传参问题
  10. 【机械制造基础部分(京玉海第二版)部分思考题】