本文主要介绍如何解决@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 )
私人列表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注释。以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。