@NotBlank不生效 怎样解决@NotBlank不生效的问题

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

@NotBlank不生效 怎样解决@NotBlank不生效的问题

Eddie-Wang   2021-06-09 我要评论
想了解怎样解决@NotBlank不生效的问题的相关内容吗,Eddie-Wang在本文为您仔细讲解@NotBlank不生效的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:@NotBlank不生效,@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 注解即可

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们