如何解決@NotBlank不生效的問題
解決@NotBlank不生效
在項目開發(fā)中,發(fā)現一個類中包含有另外一個類,這種包含關系的類上的@NotBlank校驗不生效,后來發(fā)現需要在內部的類的域上加上@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:
最近做一個新項目,寫新接口時發(fā)現@NotBlank @NotEmpty不生效,@NotNull則生效,令人費解。通過搜索資料以及對項目依賴一步步排除發(fā)現項目中引入的jar包有問題,見紅色標識出來的

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

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
java中CompleteFuture與Future的區(qū)別小結
本文主要介紹了java中CompleteFuture與Future的區(qū)別小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-12-12
Spring Boot JPA中使用@Entity和@Table的實現
這篇文章主要介紹了Spring Boot JPA中使用@Entity和@Table的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03
前端存token后端獲取token代碼實例(Spring?Boot)
Token其實就是訪問資源的憑證,一般是用戶通過用戶名和密碼登錄成功之后,服務器將登陸憑證做數字簽名,加密之后得到的字符串作為token,這篇文章主要給大家介紹了關于前端存token,Spring?Boot后端獲取token的相關資料,需要的朋友可以參考下2024-07-07

