软件编程
位置:首页>> 软件编程>> java编程>> 如何解决@NotBlank不生效的问题

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

如何解决@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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com