在前段向后端提交较多数据时,我们一般都会遇到字段校验的问题,使用Spring的字段验证很省事,一般会使用@NotNull、@NotEmpty、@NotBlank这三个东西,但使用的时候后端接收参数一定要注意接收参数的数据类型。

1.@NotNull:
不能为null,但可以为empty(""," “,” ") ,一般用在基本数据类型的非空校验上,而且被其标注的字段可以使用 @size/@Max/@Min对字段数值进行大小的控制

2.@NotEmpty:
不能为null,而且长度必须大于0(" “,” "),一般用在集合类上面

3.@NotBlank:
这玩意只能作用在接收的String类型上,注意是只能,不能为null,而且调用trim()后,长度必须大于0

实际开发中,这三个东西一定要分的清楚,乱用或者没注意容易吃亏。一次开发中就是由于开发人员的疏忽,一个BigDecimal的字段使用成了@NotBlank(还是@NotEmpty来着,记不清了,不重要_),然后导致服务器报错,后来将字段校验标签改成@NotNull后问题得到解决。

实体字段校验@NotNull、@NotEmpty、@NotBlank相关推荐

  1. java 实体字段校验@Valid - @NotNull @NotEmpty @NotBlank - ValidExceptionHandler

    java 实体字段校验@NotNull @NotEmpty @NotBlank 注意在使用 @NotBlank 等注解时,一定要和 @valid 一起使用,否则 @NotBlank 不起作用. 1.@ ...

  2. Java校验注解@NotEmpty,@NotBlank,@NotNull的使用方法和区别

    以上三个注解均是javax.validation.constraints包下的,用于属性上的: @NotEmpty.@NotBlank.@NotNull三个注解的区别: @NotEmpty: 用在集合 ...

  3. 注解@NotNull/@NotEmpty/@NotBlank

    @NotNull:不能为null,但可以为empty @NotEmpty:不能为null,而且长度必须大于0 @NotBlank:只能作用在String上,不能为null,而且调用trim()后,长度 ...

  4. @NotNull :@NotEmpty @NotBlank :@NonNull:@Nullable 的区别

    @NotNull : 用在基本类 型上 不能为null 但可以为空字符串 @NotEmpty : 用在集合类上 不能为空 并且长度必须大于0 @NotBlank : 只能作用在String上,不能为n ...

  5. 常用的校验注解之 @NotNull、@NotBlank、@NotEmpty 的区别

    实体字段校验 @NotNull.@NotEmpty.@NotBlank 1.@NotNull 不能为 null,但可以为 empty,一般用在 Integer 类型的基本数据类型的非空校验上,而且被其 ...

  6. 常用校验注解@NotEmpty,@NotBlank,@NotNull,@Valid,@Validated用法区别,以及搭配 BindingResult使用,嵌套验证等《使用|CSDN创作打卡》

    文章目录 一.常用注解@NotEmpty,@NotBlank,@NotNull介绍 二.@Valid与@Validated的使用与区别 2.1@Valid与@Validated区别: 2.2嵌套验证 ...

  7. @NotNull 、@NotBlank、@NotEmpty区别和使用

    引言 今天在使用validation校验的时候,发现了使用校验不起作用,一时间有点摸不到头绪,就看了一下同事提交的代码,发现了问题在用@NotNull用法,用的有些错误,所以在这里讲一下@NotNul ...

  8. aop+注解 实现对实体类的字段校验_SpringBoot实现通用的接口参数校验

    来自:掘金,作者:cipher 链接:https://juejin.im/post/5af3c25b5188253064651c76 原文链接:http://www.ciphermagic.cn/sp ...

  9. 开发中常见的@NotNull,@NotBlank,@NotEmpty注解的区别

    @NotEmpty,@NotNull和@NotBlank的区别 @NotEmpty :不能为null,且Size>0 @NotNull:不能为null,但可以为empty,没有Size的约束 @ ...

最新文章

  1. Vue全局路由侦听beforeEach路由守卫附代码使用示例
  2. if(window.event) e = window.event
  3. .net中用Action等委托向外传递参数
  4. 九度 1550 分糖果
  5. 秒杀系统设计架构与实现
  6. Gerrit的用法及与gitlab的区别
  7. kfcm算法matlab实现,KFCM算法分析
  8. PostgreSQL 简单的查询
  9. hbuilder制作简单网页_企业信息化网站+营销服务之电子商务网站制作流程
  10. OpenCV-python学习笔记(四)——smoothing and blurring平滑和模糊
  11. mongodb修改最大连接数
  12. 创建一棵二叉树(C++)以及遍历
  13. 铁路“探花儿”:每天徒步8公里 一个月穿坏一双鞋
  14. uniapp如何引入全局js
  15. Druid java.sql.SQLException: connection holder is null
  16. 军事ar虚拟现实电子沙盘系统的功能
  17. Java 设置PDF文档过期时间(有效时间)
  18. PyQt5数据库开发2 5.1 QSqlQueryModel
  19. STM32要按复位键才能下载问题解决
  20. 统信软件:第一份收入破亿的答卷

热门文章

  1. 《OpenDRIVE1.6规格文档》2
  2. FastDB 高效率的内存数据库系统
  3. 1.2(redis)5大数据结构
  4. 解决Win7系统插入耳机或音响没有声音教程
  5. 服务器操作系统查询命令,服务器操作系统查询命令
  6. 信息安全建设之基于开源搭建零信任网关-原理篇
  7. 初阶数据结构 初识二叉树
  8. Codeforces Problem-133A HQ9+
  9. ubuntu下U盘文件全部变成只读模式
  10. 计算机专业英语辅音字母缩略,英语缩写规则