如何解决@NotBlank不生效的问题
作者:Eddie-Wang 发布时间:2022-04-01 13:41:08
标签:@NotBlank,不生效
解决@NotBlank不生效
在项目开发中,发现一个类中包含有另外一个类,这种包含关系的类上的@NotBlank校验不生效,后来发现需要在内部的类的域上加上@Valid注解,如下:
/**
* 标签体系ID
*/
@NotBlank(message = "00000002")
@Length(max = 20, message = "00000005")
private String systemId;
/**
* 条件模板id
*/
private String templateId;
/**
* 条件模板代码
*/
private String templateCode;
/**
* 条件模板名称
*/
@NotBlank(message = "00001001")
@Length(max = 20, message = "00001002")
private String templateName;
/**
* 条件表达式
*/
@NotBlank(message = "00001003")
@Length(max = 200, message = "00001004")
private String templateConditionExpr;
/**
* 排序
*/
private Integer sort;
/**
* 条件模板字段数据
*/
@Valid
@NotEmpty(message = "00001005")
private List<PotentialConColParam> conTemplatesCols;
/**
* 标签代码
*/
@NotBlank(message = "00001006")
@Length(max = 64, message = "00001007")
private String labelCode;
/**
* 条件名称
*/
@NotBlank(message = "00001008")
@Length(max = 20, message = "00001009")
private String conditionName;
/**
* 操作符
*/
@NotBlank(message = "00001010")
@Length(max = 20, message = "00001011")
private String operation;
/**
* 条件赋值
*/
@NotBlank(message = "00001012")
@Length(max = 20, message = "00001013")
private String conditionValue;
@NotBlank @NotEmpty不生效,以及对象嵌套问题
问题1:
最近做一个新项目,写新接口时发现@NotBlank @NotEmpty不生效,@NotNull则生效,令人费解。通过搜索资料以及对项目依赖一步步排除发现项目中引入的jar包有问题,见红色标识出来的
删除以上3个jar,新增org.hibernate后问题解决
用法:
step1、Controller层接口入参处加@Validated注解(org.springframework.validation.annotation包的)
step2、入参对象的属性上加@NotBlank 或@NotEmpty 或 @NotNull --均来自于javax.validation.constraints包下, 三者区别可百度
问题2:
循环嵌套问题,入参对象bean中 属性也为javabean对象,也希望子对象中的属性能够被校验
用法: 在子对象属性上面加@Valid 注解即可
来源:https://blog.csdn.net/wangchaox123/article/details/94642774


猜你喜欢
- Quartz是一款开源的定时任务调度框架,Quartz的官网是:http://www.quartz-s
- 在实际项目中,在处理较大的文件时,常常将文件拆分为多个子文件进行处理,最后再合并这些子文件。下面就为各位介绍下Java中合并多个文件的方法。
- 表格是最常用的数据统计形式之一,在 swing 中 由
- DrawerLayout顾名思义就是一个管理布局的。使用方式可以与其它的布局类类似。DrawerLayout带有滑动的功能。只要按照draw
- 对于ViewPager 广告页这个功能很多APP都有这个功能在网上也看过一些资料,我就在这把我自己完整的实现方法写出来吧基础的ViewPag
- 简介现在的app功能越来越强大,除了基本的图文之外,还需要各种各样的其他的功能,比如视频,和直播。直播可能会比较复杂,因为涉及到了拉流和推流
- 简介Java注解是JDK1.5引入的一种注释机制,它不会改变编译器的编译方式,Java编译器对包含注解和不包含注解的代码会生成相同的Java
- 本篇文章介绍:如何使用Toolbar;自定义Toolbar;先来看一看效果,了解一下toolbar;布局文件:<android.sup
- 我们开发WinFrom程序,很多时候都希望程序只有一个实例在运行,避免运行多个同样的程序,一是没有意义,二是容易出错。为了更便于使用,笔者整
- Android短信高效备份这篇文章,承接上一篇。使用高效的方式备份短信——xml序列化器。存储短信,要以对象的方式存储。首先创建javabe
- 用微信提供的SDK来实现分享:从http://open.weixin.qq.com下载Android相关的jar包,将libammsdk.j
- 1基本输入输出 static void main(string[] args) { cons
- 调用方法:/** * 点击量/月(年)Callable */ public void yearlyClickCallable() { //
- 在Spring mvc的开发中,我们可以通过RequestMapping来配,当前方法用于处理哪一个URL的请求.同样我们现在有一个需求,有
- 前言泛型,一个孤独的守门者。大家可能会有疑问,我为什么叫做泛型是一个守门者。这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可
- 类型转换Convert.To类型()1、表达式将变量和字面值(在使用运算符时,他们都称作操作数)与运算符组合起来就得到了表达式,它是计算的基
- 本文实例为大家分享了一个基于JAVA的知乎爬虫,抓取知乎用户基本信息,基于HttpClient 4.5,供大家参考,具体内容如下详细内容:抓
- 本篇文章是SpringBoot最入门的介绍。我们不借助任何额外的工具,从无到有创建一个Spring Boot的web项目,并运行这个项目。项
- 0 实验环境在Android Studio中进行有关代码的编写和界面效果展示。SQLite数据库的图形化工具SQLiteStudio下载网址
- 1、应用场景:从一份html文件中或从String(是html内容)中提取纯文本,去掉网页标签;2、代码一:replaceAll搞定//从h