如何解決@NotBlank不生效的問題
解決@NotBlank不生效
在項(xiàng)目開發(fā)中,發(fā)現(xiàn)一個(gè)類中包含有另外一個(gè)類,這種包含關(guān)系的類上的@NotBlank校驗(yàn)不生效,后來發(fā)現(xiàn)需要在內(nèi)部的類的域上加上@Valid注解,如下:
/**
* 標(biāo)簽體系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;
/**
* 條件表達(dá)式
*/
@NotBlank(message = "00001003")
@Length(max = 200, message = "00001004")
private String templateConditionExpr;
/**
* 排序
*/
private Integer sort;
/**
* 條件模板字段數(shù)據(jù)
*/
@Valid
@NotEmpty(message = "00001005")
private List<PotentialConColParam> conTemplatesCols;
/**
* 標(biāo)簽代碼
*/
@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不生效,以及對(duì)象嵌套問題
問題1:
最近做一個(gè)新項(xiàng)目,寫新接口時(shí)發(fā)現(xiàn)@NotBlank @NotEmpty不生效,@NotNull則生效,令人費(fèi)解。通過搜索資料以及對(duì)項(xiàng)目依賴一步步排除發(fā)現(xiàn)項(xiàng)目中引入的jar包有問題,見紅色標(biāo)識(shí)出來的

刪除以上3個(gè)jar,新增org.hibernate后問題解決

用法:
step1、Controller層接口入?yún)⑻幖覢Validated注解(org.springframework.validation.annotation包的)
step2、入?yún)?duì)象的屬性上加@NotBlank 或@NotEmpty 或 @NotNull --均來自于javax.validation.constraints包下, 三者區(qū)別可百度
問題2:
循環(huán)嵌套問題,入?yún)?duì)象bean中 屬性也為javabean對(duì)象,也希望子對(duì)象中的屬性能夠被校驗(yàn)
用法: 在子對(duì)象屬性上面加@Valid 注解即可

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于SpringCloud的微服務(wù)以及組件詳解
這篇文章主要介紹了關(guān)于SpringCloud的微服務(wù)以及組件詳解,是一個(gè)更高層次的、 架構(gòu)視角的綜合性大型項(xiàng)目, 他的目標(biāo)是構(gòu)建一套標(biāo)準(zhǔn)化的微服務(wù)解決方案,需要的朋友可以參考下2023-05-05
java中List數(shù)組用逗號(hào)分隔開轉(zhuǎn)成字符串2種方法
在我們?nèi)粘i_發(fā)中,在前后端交互的時(shí)候會(huì)遇到多個(gè)id或其他字段存放到一個(gè)字段中,這時(shí)我們會(huì)遇到一個(gè)List(集合)---->String(單個(gè)字段),這篇文章主要給大家介紹了關(guān)于java中List數(shù)組用逗號(hào)分隔開轉(zhuǎn)成字符串的2種方法,需要的朋友可以參考下2023-10-10
Java大批量導(dǎo)出Excel數(shù)據(jù)的優(yōu)化過程
幾十萬上百萬行的數(shù)據(jù)是很常見的。本文主要介紹了Java大批量導(dǎo)出Excel數(shù)據(jù)的優(yōu)化過程,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
Java中replace、replaceAll和replaceFirst函數(shù)的用法小結(jié)
相信會(huì)java的同學(xué)估計(jì)都用過replace、replaceAll、replaceFirst這三個(gè)函數(shù),可是,我們真的懂他們嗎?下面通過這篇文章大家再來好好學(xué)習(xí)學(xué)習(xí)下這幾個(gè)函數(shù)。2016-09-09
idea創(chuàng)建SpringBoot項(xiàng)目時(shí)Type選maven?project和maven?pom有何區(qū)別
Maven是一個(gè)Java工程的管理工具,跟其相同功能的工具如Gradle,下面這篇文章主要給大家介紹了關(guān)于idea創(chuàng)建SpringBoot項(xiàng)目時(shí)Type選maven?project和maven?pom有何區(qū)別的相關(guān)資料,需要的朋友可以參考下2023-02-02
Spring?Security實(shí)現(xiàn)添加圖片驗(yàn)證功能
這篇文章主要為大家介紹了Spring?Security實(shí)現(xiàn)添加圖片驗(yàn)證功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01

