validation中内置的constraints

注解 描述
@AssertFalse

所注解的元素必须是Boolean类型,且值为false

@AssertTrue 所注解的元素必须是Boolean类型,且值为true
@DecimalMax(value) 验证 number 和 string 对象是否小等于指定的值,小数存在精度
@DecimalMin(Value) 验证number 和 string 对象是否小等于指定的值,小数存在精度
@Email 被注释的元素必须是电子邮箱
@Size(min=, max=) 被注解的元素必须在制定的范围(数据类型:String, Collection, Map and arrays)
@past 验证 date 和 calendar 对象是否在当前时间之前
@future 验证 date 和 calendar 对象是否在当前时间之后
@Pattern(regex=, flag=) 验证 string 对象是否符合正则表达式的规则
@Max(value) 验证 number 和 string 对象是否小等于指定的值
@Min(value) 验证 number 和 string 对象是否大等于指定的值
@Null 被注解的元素必须为null
@NotNull 被注解的元素必须不为null
@NotBlank CharSequence子类型,验证注解的元素值不为空(包括不为null或去除首位空格后长度为0)
@NotEmpty 被注释的对象必须不为空(数据:String,Collection,Map,arrays)
@Valid 递归的对关联对象进行校验, 如果关联对象是个集合或者数组, 那么对其中的元素进行递归校验,如果是一个map,则对其中的值部分进行校验

hibernate validator 附加的 constraints

注解 描述
@Length(min=, max=) 被注释的字符串的大小必须在指定的范围内
@Range(min=, max=) 被注释的元素必须在合适的范围内 (支持BigDecimal, BigInteger, String, byte, short, int, long和原始类型的包装类 )
@URL(protocol=, host=, port=, regexp=, flags=) 被注释的字符串必须是一个有效的url
@SafeHtml(whitelistType=, additionalTags=) 被注解的元素检查是否标注值包含恶意的片段

 @Max(value)、@Min(value)、@DecimalMax(value)、@DecimalMin(Value)区别:

1.@Max、@Min接受一个Long类型的值

2.@DecimalMax、@DecimalMin接受一个字符串类型的值(BigDecimal的字符串表示形式,因此可以是小数。例如:

@DecimalMin(value = "0.01",message = "金额不得小于0.01元")

3.数字超过Long.MAX_VALUE或Long.MIN_VALUE以下或者数字是小数,@DecimalMax、@DecimalMin是唯一的选择。

最后只需在controller层代码中加入@Valid注解即可

java常用注解校验参数的更多相关文章

  1. Java自定义注解源码+原理解释(使用Java自定义注解校验bean传入参数合法性)

    Java自定义注解源码+原理解释(使用Java自定义注解校验bean传入参数合法性) 前言:由于前段时间忙于写接口,在接口中需要做很多的参数校验,本着简洁.高效的原则,便写了这个小工具供自己使用(内容 ...

  2. JAVA常用注解

    摘自:https://www.cnblogs.com/guobm/p/10611900.html 摘要:java引入注解后,编码节省了很多需要写代码的时间,而且精简了代码,本文主要罗列项目中常用注解. ...

  3. Java 自定义注解 校验指定字段对应数据库内容重复

    一.前言 在项目中,某些情景下我们需要验证编码是否重复,账号是否重复,身份证号是否重复等... 而像验证这类代码如下: 那么有没有办法可以解决这类似的重复代码量呢? 我们可以通过自定义注解校验的方式去 ...

  4. Java常用命令及参数

    Java的基本指令参数 javac [-d 目录|-verbose] file java [-classpath(cp) dir] file jar -zcvf dir file javap [-pr ...

  5. JAVA 常用注解( JDK, Spring, AspectJ )

    JDK自带注解   @Override   表示当前方法覆盖了父类的方法   @Deprecation   表示方法已经过时,方法上有横线,使用时会有警告   @SuppviseWarnings    ...

  6. java常用注解(更新中)

    注解根据来源可分为: 系统注解(自带的,取决于JDK版本).自定义注解及第三方注解 系统注解根据用途又可分为: java内置注解和元注解 根据运行机制(保留到什么时候)可分为: 源码注解.编译注解和运 ...

  7. Java常用命令与参数设置

    我介绍的JDK版本: 首先.介绍下JDK常用参数设置,如下是我个人环境的参数: -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m 我们 ...

  8. java常用正则校验工具类

    正则常用校验工具类 import java.util.regex.Pattern; /** * @program: * @description: 校验工具类 * @author: xujingyan ...

  9. java自定义注解实现前后台参数校验

    2016.07.26 qq:992591601,欢迎交流 首先介绍些基本概念: Annotations(also known as metadata)provide a formalized way ...

随机推荐

  1. python获取本机的安装所有应用( Windows)

    Windows获取本机的安装所有应用 采用操作注册表的方式,理论上其他可通过操作注册表方式的动作均可 import winreg def get_window_software(hive, flag) ...

  2. 6.13 NOI 模拟

    \(T1\ first\) \(bitset\)字符串匹配 \(yyds\) \(O(\frac{n^2}{w})\)就是正解! #include<bits/stdc++.h> #defi ...

  3. Spring源码 14 IOC refresh方法9

    参考源 https://www.bilibili.com/video/BV1tR4y1F75R?spm_id_from=333.337.search-card.all.click https://ww ...

  4. Docker 04 容器命令

    参考源 https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0 https://www.bilibili.com/vid ...

  5. 使用Linux、Nginx和Github Actions托管部署ASP.NET Core 6.0应用

    使用Linux.Nginx和Github Actions托管部署ASP.NET Core 6.0应用 前言 本文主要参考微软这篇文档而来 Host ASP.NET Core on Linux with ...

  6. windows自动切换深色模式(夜晚模式)

    img { width: 30vw } windows系统上怎么根据日出日落时间判断切换为深色模式或浅色模式呢? windows系统自带了一个叫做"任务计划程序"的软件.可以通过& ...

  7. CSS 笔记目录

    布局 CSS 布局(一):Flex 布局 选择器 CSS 选择器(一):属性选择器 CSS 选择器(二):子代选择器(>)

  8. RabbitMQ 入门系列:3、基础含义:持久化、排它性、自动删除、强制性、路由键。

    系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义: ...

  9. 【JDBC】学习路径9-dbcp数据源的使用

    第一章:下载 要下载三个东西:commons pool.commons log.dbcp dbcp中有些东西是依赖于commons pool 和 commons log 的. 缺一不可,否则无法正确运 ...

  10. Linux虚拟机启动报错operating system not found解决步骤

    此报错为硬盘上的启动代码丢失 实验准备步骤 1) 准备: dd if=/dev/zero of=/dev/nvme0n1 bs=446 count=1 2) 系统启动报错截图 修复步骤如下 第一步:选 ...