Spring Boot 参数校验注解(自整理,不停的测试更新)
首先我们只使用java官方的 javax.validation.constraints ,足以使用了,不使用spring boot 自身的,自身的与官方的一致,可能会有扩展,但是还得引入包,麻烦,只用官方的就行了。

用java官方的标准 ,就是所有的参数校验注解都在这个包下:

以下是具体说明:
| 注解 | 作用类型 | 解释 |
null是否 能通过验证 |
| @AssertFalse | Boolean、boolean | 该字段值为false时,验证才能通过 | YES |
| @AssertTrue | Boolean、boolean | 该字段值为true时,验证才能通过 | YES |
| @DecimalMax | 数字类型(原子和包装) | 验证小数的最大值
@DecimalMax(value = "12.35") |
YES |
| @DecimalMin | 数字类型(原子和包装) | 验证小数的最小值 | YES |
| @Digits | 数字类型(原子和包装) | 验证数字的整数位和小数位的位数是否超过指定的长度
@Digits(integer = 2, fraction = 2) |
YES |
| String | 该字段为Email格式,才能通过 | YES | |
| @Future | 时期、时间 | 验证日期是否在当前时间之后,否则无法通过校验
@Future |
YES |
| @FutureOrPresent | 时期、时间 | 时间在当前时间之后 或者等于此时 | YES |
| @Max | 数字类型(原子和包装) |
//该字段的最大值为18,否则无法通过验证 |
YES |
| @Min | 数字类型(原子和包装) | 同上,不能低于某个值否则无法通过验证 | YES |
| @Negative | 数字<0 | YES | |
| @NegativeOrZero | 数字=<0 | YES | |
| @NotBlank(空格属于空白,blank空白的意思) | 只能作用在接收的 String 类型上,注意是只能 |
1.字符串不能为null 2.字符串trim()后也不能等于空,即空字符不行,空格也不行: {
|
NO |
| @NotEmpty(空格不属于空) |
String、集合、数组、Map、链表List; 一般用集合、数组、Map、链表List上 |
1.不能为null 2.若是字符串,则不能是空字符,空格可以: {
3.集合、数组、map、List等size()不能为0; |
NO |
| @NotNull | 任何类型(一般用在 Integer ,Long ) |
使用该注解的字段的值不能为null,否则验证无法通过 |
NO |
| @Null | 修饰的字段在验证时必须是null,否则验证无法通过 | YES | |
| @Past | 时间、日期 | 验证日期是否在当前时间之前,否则无法通过校验,必须是一个过去的时间或日期 | YES |
| @PastOrPresent | 时间、日期 | 验证日期是否在当前时间之前或等于当前时间 | YES |
| @Pattern | 用于验证字段是否与给定的正则相匹配
@Pattern(regexp = "正则") |
YES | |
| @Positive | 数字>0 | YES | |
| @PositiveOrZero | 数字>=0 | YES | |
| @Size | 字符串String、集合Set、数组Array、Map,List |
修饰的字段长度不能超过5或者低于1 集合、数组、map等的size()值必须在指定范围内 //只能一个 |
YES |
Spring Boot 参数校验注解(自整理,不停的测试更新)的更多相关文章
- Validated 注解完成 Spring Boot 参数校验
1. @Valid 和 @Validated @Valid 注解,是 Bean Validation 所定义,可以添加在普通方法.构造方法.方法参数.方法返回.成员变量上,表示它们需要进行约束校验. ...
- Spring Boot 参数校验
1.背景介绍 开发过程中,后台的参数校验是必不可少的,所以经常会看到类似下面这样的代码 这样写并没有什么错,还挺工整的,只是看起来不是很优雅而已. 接下来,用Validation来改写这段 2.Spr ...
- Spring Boot参数校验
1. 概述 作为接口服务提供方,非常有必要在项目中加入参数校验,比如字段非空,字段长度限制,邮箱格式验证等等,数据校验常用到概念:JSR303/JSR-349: JSR303是一项标准,只提供规范不提 ...
- Spring boot 参数相关注解
最近使用swagger的在线文档调试接口时发现老是报参数问题,最后发现是方法中参数上的注解有问题,今天把填的坑做一下总结. 1. RequestParam 该注解有两个属性: name/value:表 ...
- spring boot输入数据校验(validation)
Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...
- spring boot @ConditionalOnxxx相关注解总结
Spring boot @ConditionalOnxxx相关注解总结 下面来介绍如何使用@Condition public class TestCondition implements Condit ...
- 59. Spring Boot Validator校验【从零开始学Spring Boot】
大纲: (1) 入门例子: (2) 国际化: (3) 在代码中添加错误信息: (1) 入门例子: Validator主要是校验用户提交的数据的合理性的,比如是否为空了,密码长度是否大于6位,是否是纯数 ...
- (32)Spring Boot使用@SpringBootApplication注解,从零开始学Spring Boot
[来也匆匆,去也匆匆,在此留下您的脚印吧,转发点赞评论] 如果看了我之前的文章,这个节你就可以忽略了,这个是针对一些刚入门的选手存在的困惑进行写的一篇文章. 很多Spring Boot开发者总是使用 ...
- Spring Boot 二十个注解
Spring Boot 二十个注解 占据无力拥有的东西是一种悲哀. Cold on the outside passionate on the insede. 背景:Spring Boot 注解的强大 ...
- Spring Boot中@Scheduled注解的使用方法
Spring Boot中@Scheduled注解的使用方法 一.定时任务注解为@Scheduled,使用方式举例如下 //定义一个按时间执行的定时任务,在每天16:00执行一次. @Scheduled ...
随机推荐
- 基于 SpringBoot + magic-api + Vue3 + Element Plus + amis3.0 快速开发管理系统
Tansci-Boot 基于 SpringBoot2 + magic-api + Vue3 + Element Plus + amis3.0 快速开发管理系统 Tansci-Boot 是一个前后端分离 ...
- 文心一言 VS 讯飞星火 VS chatgpt (183)-- 算法导论13.4 7题
七.用go语言,假设用 RB-INSERT 将一个结点 x 插入一棵红黑树,紧接着又用 RB-DELETE 将它从树中删除.结果的红黑树与初始的红黑树是否一样?证明你的答案. 文心一言: 首先,我们需 ...
- 两个List< string>比较是否相同的N种方法,你用过哪种?
今天在一技术群看一群大佬讨论: 有没有优雅的写法,比较两个List集合中的元素是不是完全一致... 站长最近也无聊,通过群里的聊天记录和给出的参考链接,简单做做总结,万一后面大家能用上呢? 我们做简单 ...
- JS - dom绑定函数中 return false 的作用
1,可以阻止事件冒泡 2,可以阻止浏览器默认操作
- MyBatis04——使用注解开发
使用注解开发 MyBatis3提供了新的基于注解的配置,但是MyBatis映射并不能用注解来构建. sql类型主要分成: @select @update @insert @delete 注意:利用注解 ...
- Python Code_02
author : 写bug的盼盼 development time : 2021/8/27 19:59 变量定义 name = '阿哈' print(name) print('标识',id(name) ...
- CAP-BASE
- [转帖]经典的 Fork 炸弹解析
https://linux.cn/article-5685-1.html Jaromil 在 2002 年设计了最为精简的一个 Linux Fork 炸弹,整行代码只有 13 个字符(包括空格在内,空 ...
- [转帖]Oracle与防火墙
https://www.laoxiong.net/oracle_and_firewall.html 老熊 Oracle数据库管理 2009-04-20 最近有两次Oracle数据库故障与防火墙有关.这 ...
- [转帖]RocksDB 简介
https://docs.pingcap.com/zh/tidb/stable/rocksdb-overview RocksDB 是由 Facebook 基于 LevelDB 开发的一款提供键值存储与 ...