如何解决@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 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 注解即可
文章图片
【如何解决@NotBlank不生效的问题】以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- parallels|parallels desktop 解决网络初始化失败问题
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- 如何寻找情感问答App的分析切入点
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- SpringBoot调用公共模块的自定义注解失效的解决
- 解决SpringBoot引用别的模块无法注入的问题
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)