洞察探索open banking如何通过小程序容器技术助力金融企业实现数据安全和数字化转型
1673
2023-01-12
如何解决@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
/**
* 标签代码
*/
@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;
/**
* 条xJFuZSF件赋值
*/
@NotBlank(message = "00001012")
@Length(max = 20, mehttp://ssage = "00001013")
private String conditionValue;
@NotBlank @NotEmpty不生效xJFuZSF,以及对象嵌套问题
问题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 注解即可
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~