java中@NotBlank限制屬性不能為空
在實體類的對應(yīng)屬性上添加 @NotBlank 注解,可以實現(xiàn)對空置的限制。除了 @NotBlank 外,還有 @NotNull 和 @NotEmpty ,它們的區(qū)別如下所示:
1.String name = null; @NotNull: false @NotEmpty:false @NotBlank:false 2.String name = ""; @NotNull:true @NotEmpty: false @NotBlank: false 3.String name = " "; @NotNull: true @NotEmpty: true @NotBlank: false 4.String name = "Great answer!"; @NotNull: true @NotEmpty:true @NotBlank:true
需要注意的是 @NotNull 一般作用在 Integer 類型上,其還可以配合 @size、@Max、@Min 對字段的數(shù)值大小進行控制。而 @NotEmpty 表示不能為空,且長度必須大于 0 ,一般用在集合類或數(shù)組上。 @NotBlank 只能作用在 String 類型上,并且調(diào)用 trim() 后,長度必須大于 0 。
同時,使用 @NotBlank 等注解時,一定要和 @valid 一起使用,不然@NotBlank不起作用,如:
@PostMapping("/save")
@ApiOperation(value = "新增", notes = "傳入supplementaryMaterial")
public ActionResult save(@Valid @RequestBody SupplementaryMaterial supplementaryMaterial) {
return new ActionResult().status(supplementaryMaterialService.save(supplementaryMaterial));
}@NotEmpty、@NotBlank、@NotNull三種注解的區(qū)別
1. @NotEmpty
@NotEmpty 注解用于驗證一個字符串、集合或數(shù)組是否為空。它檢查目標對象是否為 null,并且長度是否為零。換句話說,被 @NotEmpty 注解標注的字段必須至少包含一個非空字符、元素或項。
public class User {
@NotEmpty
private String username;
// Getter and Setter
}
在上面的例子中,username 字段被標注為 @NotEmpty,這意味著在驗證時,username 必須既不為 null,也不為空字符串。
2. @NotBlank
@NotBlank 注解也用于驗證字符串是否為空,但它比 @NotEmpty 更嚴格。它會去除字符串兩端的空格,并驗證處理后的字符串是否為空。因此,@NotBlank 只適用于字符串類型的字段。
public class Product {
@NotBlank
private String productName;
// Getter and Setter
}
在上述示例中,productName 字段被標注為 @NotBlank,這要求字段既不為 null,也不為空字符串,且去除兩端空格后也不能為空。
3. @NotNull
相對于前兩者,@NotNull 注解更加簡單,它只檢查目標字段是否為 null。這意味著它適用于所有類型的字段,包括字符串、對象、基本數(shù)據(jù)類型等。
public class Order {
@NotNull
private Long orderId;
// Getter and Setter
}
在上述代碼中,orderId 字段被標注為 @NotNull,這表示在處理時,orderId 不能為 null。
區(qū)別總結(jié)
@NotEmpty驗證字段不為 null,且長度不為零。適用于字符串、集合和數(shù)組。@NotBlank驗證字段不為 null,長度不為零,且去除兩端空格后也不為空。僅適用于字符串。@NotNull驗證字段不為 null。適用于所有類型的字段。
到此這篇關(guān)于java中@NotBlank限制屬性不能為空的文章就介紹到這了,更多相關(guān)java @NotBlank屬性不能為空內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mybatis,foreach,找不到參數(shù)報錯問題及解決
這篇文章主要介紹了mybatis,foreach,找不到參數(shù)報錯問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
springboot項目中jackson-序列化-處理 NULL教程
這篇文章主要介紹了springboot項目中jackson-序列化-處理 NULL教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10
【IntelliJ IDEA】Maven構(gòu)建自己的第一個Java后臺的方法
本篇文章主要介紹了Maven構(gòu)建自己的第一個Java后臺的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12
Spring Boot Admin 環(huán)境搭建與基本使用詳解
這篇文章主要介紹了Spring Boot Admin 環(huán)境搭建與基本使用,本文主要是對于Spring Boot Admin的基本認識和基本運用,通過本篇博客能夠?qū)pring Boot Admin有一個宏觀認知和能夠快速上手,需要的朋友可以參考下2023-08-08
關(guān)于SpringBoot的spring.factories文件詳細說明
spring.factories 文件是 Spring Boot 自動配置機制的核心部分之一,它位于每個 Spring Boot 自動配置模塊的 META-INF 目錄下,經(jīng)??吹?nbsp;spring.factories 文件,卻沒有對它進行深入的了解和分析,今天我們就一起揭開面紗看看它的內(nèi)在,需要的朋友可以參考下2024-12-12

