如何解决@NotBlank不生效的问题

作者:Eddie-Wang 时间:2022-04-01 13:41:08 

解决@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包有问题,见红色标识出来的

如何解决@NotBlank不生效的问题

删除以上3个jar,新增org.hibernate后问题解决

如何解决@NotBlank不生效的问题

用法:

step1、Controller层接口入参处加@Validated注解(org.springframework.validation.annotation包的)

step2、入参对象的属性上加@NotBlank 或@NotEmpty 或 @NotNull --均来自于javax.validation.constraints包下, 三者区别可百度

问题2:

循环嵌套问题,入参对象bean中 属性也为javabean对象,也希望子对象中的属性能够被校验

用法: 在子对象属性上面加@Valid 注解即可

如何解决@NotBlank不生效的问题

来源:https://blog.csdn.net/wangchaox123/article/details/94642774

标签:@NotBlank,不生效
0
投稿

猜你喜欢

  • Spring @Conditional通过条件控制bean注册过程

    2023-08-06 10:00:11
  • 移动开发Spring Boot外置tomcat教程及解决方法

    2023-08-25 11:47:33
  • Spring @Profile注解详解

    2023-04-20 06:26:16
  • 一键清除maven仓库中下载失败的jar包的实现方法

    2023-08-13 03:43:59
  • C#调用VB进行简繁转换的方法

    2023-02-25 23:19:43
  • spring缓存cache的使用详解

    2023-03-28 11:36:14
  • 通过Java修改游戏存档的实现思路

    2023-07-30 20:10:55
  • Java加载资源文件时的路径问题的解决办法

    2023-05-09 23:22:40
  • Java IO流—异常及捕获异常处理 try…catch…finally

    2023-03-14 07:35:52
  • Java使用Maven BOM统一管理版本号的实现

    2023-08-30 00:46:00
  • mybatis中批量插入的两种方式(高效插入)

    2023-09-16 22:21:07
  • Android开发中Toast显示消息的方法小结

    2023-07-31 20:29:14
  • java.lang.StackOverflowError出现的原因及解决

    2022-03-21 08:12:21
  • DevExpress之ChartControl实现柱状图演示实例

    2023-05-27 08:45:15
  • java排序算法之冒泡排序

    2023-04-05 21:03:42
  • Java权重随机的实现方法

    2021-10-05 14:27:50
  • Android自定义View之组合控件实现类似电商app顶部栏

    2023-07-26 22:14:10
  • spring boot实现过滤器和拦截器demo

    2023-08-24 07:15:01
  • IDEA自定义常用代码块及自定义快捷摸板

    2022-01-13 18:54:22
  • 大白话讲解C# 中的委托

    2023-02-03 02:06:41
  • asp之家 软件编程 m.aspxhome.com