本文主要介绍如何解决@NotBlank不生效的问题。有很好的参考价值,希望对大家有所帮助。如有错误或不足之处,请不吝赐教。
解决@NotBlank不生效
在项目开发过程中,发现一个类包含另一个类,对包含关系的类的@NotBlank检查不生效。后来,发现@Valid注释应该添加到内部类的域中,如下所示:
/**
*标签系统ID
*/
@NotBlank(message='00000002 ')
@Length(max=20,message='00000005 ')
私有字符串systemId
/**
*条件模板id
*/
私有字符串templateId
/**
*条件模板代码
*/
私有字符串templateCode
/**
*条件模板名称
*/
@NotBlank(message='00001001 ')
@Length(max=20,message='00001002 ')
私有字符串templateName
/**
*条件表达式
*/
@NotBlank(message='00001003 ')
@Length(max=200,message='00001004 ')
私有字符串templateConditionExpr
/**
*排序
*/
私有整数排序;
/**
*条件模板字段数据
*/
@有效
@NotEmpty(message='00001005 ')
private listen potential concolparam contemplates colls;
/**
*标签代码
*/
@NotBlank(message='00001006 ')
@Length(max=64,message='00001007 ')
私有字符串labelCode
/**
*条件名称
*/
@NotBlank(message='00001008 ')
@Length(max=20,message='00001009 ')
私有字符串conditionName
/**
*操作员
*/
@NotBlank(message='00001010 ')
@Length(max=20,message='00001011 ')
私有字符串操作;
/**
*条件分配
*/
@NotBlank(message='00001012 ')
@Length(max=20,message='00001013 ')
私有字符串conditionValue
@NotBlank @NotEmpty不生效,以及对象嵌套问题
问题1:
最近做了一个新项目,写了一个新接口,发现@NotBlank @NotEmpty不生效,而@NotNull却生效,令人费解。通过查找资料,逐步消除对项目的依赖,发现项目中引入的jar包有问题,如红色所示。
删除以上三个jar,加上org.hibernate,问题就解决了。
用法:
1.将@Validated annotation(来自org . spring framework . validation . annotation的包)添加到控制器层的接口。
2.将@NotBlank或@NotEmpty或@ notnull添加到参与对象的属性中——它们都来自javax.validation.constraints包,它们之间的差别可以有几百度。
问题2:
循环嵌套问题,参与对象bean中的属性也是javabean对象,也希望子对象中的属性可以验证。
用法: 给子对象的属性添加@Valid注释。
以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。