java常用注解校验参数
validation中内置的constraints
| 注解 | 描述 |
| @AssertFalse |
所注解的元素必须是Boolean类型,且值为false |
| @AssertTrue | 所注解的元素必须是Boolean类型,且值为true |
| @DecimalMax(value) | 验证 number 和 string 对象是否小等于指定的值,小数存在精度 |
| @DecimalMin(Value) | 验证number 和 string 对象是否小等于指定的值,小数存在精度 |
| 被注释的元素必须是电子邮箱 | |
| @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常用注解校验参数的更多相关文章
- Java自定义注解源码+原理解释(使用Java自定义注解校验bean传入参数合法性)
Java自定义注解源码+原理解释(使用Java自定义注解校验bean传入参数合法性) 前言:由于前段时间忙于写接口,在接口中需要做很多的参数校验,本着简洁.高效的原则,便写了这个小工具供自己使用(内容 ...
- JAVA常用注解
摘自:https://www.cnblogs.com/guobm/p/10611900.html 摘要:java引入注解后,编码节省了很多需要写代码的时间,而且精简了代码,本文主要罗列项目中常用注解. ...
- Java 自定义注解 校验指定字段对应数据库内容重复
一.前言 在项目中,某些情景下我们需要验证编码是否重复,账号是否重复,身份证号是否重复等... 而像验证这类代码如下: 那么有没有办法可以解决这类似的重复代码量呢? 我们可以通过自定义注解校验的方式去 ...
- Java常用命令及参数
Java的基本指令参数 javac [-d 目录|-verbose] file java [-classpath(cp) dir] file jar -zcvf dir file javap [-pr ...
- JAVA 常用注解( JDK, Spring, AspectJ )
JDK自带注解 @Override 表示当前方法覆盖了父类的方法 @Deprecation 表示方法已经过时,方法上有横线,使用时会有警告 @SuppviseWarnings ...
- java常用注解(更新中)
注解根据来源可分为: 系统注解(自带的,取决于JDK版本).自定义注解及第三方注解 系统注解根据用途又可分为: java内置注解和元注解 根据运行机制(保留到什么时候)可分为: 源码注解.编译注解和运 ...
- Java常用命令与参数设置
我介绍的JDK版本: 首先.介绍下JDK常用参数设置,如下是我个人环境的参数: -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m 我们 ...
- java常用正则校验工具类
正则常用校验工具类 import java.util.regex.Pattern; /** * @program: * @description: 校验工具类 * @author: xujingyan ...
- java自定义注解实现前后台参数校验
2016.07.26 qq:992591601,欢迎交流 首先介绍些基本概念: Annotations(also known as metadata)provide a formalized way ...
随机推荐
- Vue3系列2--项目目录介绍及运行项目
1 Vite项目目录 用Vscode打开创建的项目,看到下面的目录结构: 通过运行 npm install 初始化项目后生成两个初始化文件:node_modules和 package-lock.js ...
- 在oracle中创建管理员密码
1.因为在安装Oracle11g时没有设置sys和system用户的密码,导致登陆不上SQLplus,后面用sqlplus / as sysdba ,密码为:root登陆上去创建了密码. 2.如下图
- 万答#15,都有哪些情况可能导致MGR服务无法启动
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 本文转载自微信公众号 "老叶茶馆" 欢迎大家关注! 1.都有 ...
- 【Java面试】Java有几种文件拷贝方式,哪一种效率最高?
"Java有几种文件拷贝方式,哪一种效率最高?" 这个问题是京东一面的时候,针对4年经验的同学的一个面试题. 大家好,我是Mic,一个工作了14年的Java程序员. 关于这个问题的 ...
- React报错之Type '() => JSX.Element[]' is not assignable to type FunctionComponent
正文从这开始~ 总览 当我们尝试从函数组件中返回元素组成的数组时,会产生"Type '() => JSX.Element[]' is not assignable to type Fu ...
- Dart 导包时类名冲突
import 'package:qingyuo_mobile/pages/slices/home_page/tech_slice.dart'; import 'package:qingyuo_mobi ...
- 关于Copy On Write Array List,你会安全使用么
摘要:JDK中提供了CopyOnWriteArrayList类,简称COW.为了将读取的性能发挥到极致,CopyOnWriteArrayList读取是完全不用加锁的,并且更厉害的是:写入也不会阻塞读取 ...
- SpringMvc请求流程源码解析
目录 SpringMvc请求流程图 请求流程粗讲解 方法细讲 doDispatcher --> 核心 找到Handler#getHandler getHandler(request) mappi ...
- 记pyautogui使用方法
记录学习过程,本人喜欢简洁不啰嗦: 控制鼠标 1 pyautogui.moveTo(w - 100, h - 100, duration=0.25) # 立即移动到指定x, y位置坐标, durati ...
- KingbaseES通过sys_waldump解析wal日志
前言 oracle中的redo日志我们无法直接读取,然而对于KingbaseES数据库,我们可以利用sys_waldump工具解析wal日志,查看wal日志记录的信息. 我们可以利用 sys_wald ...