最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javax.validation.constraints注解使用

 更新時間:2024年07月03日 16:40:46   作者:霽月清風(fēng)與誰同  
這篇文章主要介紹了javax.validation.constraints注解使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

javax.validation.constraints注解

javax.validation.constraints是Java Validation API中的一個包,它提供了一組注解,用于在Java代碼中進(jìn)行數(shù)據(jù)校驗和驗證。

該包中定義了多個注解,用于標(biāo)記屬性或方法參數(shù)的驗證規(guī)則。

開發(fā)者可以通過在對象的屬性上添加這些注解,來定義相應(yīng)的驗證規(guī)則。

常用的注解

@NotNull:用于標(biāo)記屬性或方法參數(shù)不能為null。

  • 適用于任何類型的屬性或方法參數(shù)。
  • 不能用于基本數(shù)據(jù)類型,因為它們不接受null值。

@NotEmpty

  • 用于標(biāo)記字符串、集合、Map等類型的屬性或方法參數(shù)不能為null且不能為空。
  • 適用于String、Collection、Map和數(shù)組類型的屬性或方法參數(shù)。

@NotBlank

  • 用于標(biāo)記字符串類型的屬性或方法參數(shù)不能為null且包含至少一個非空格字符。
  • 適用于String類型的屬性或方法參數(shù)。

@Min

  • 用于標(biāo)記數(shù)值類型的屬性或方法參數(shù)的最小值。
  • 適用于byte、short、int、long和對應(yīng)的包裝類類型的屬性或方法參數(shù)。

@Max

  • 用于標(biāo)記數(shù)值類型的屬性或方法參數(shù)的最大值。
  • 適用于byte、short、int、long和對應(yīng)的包裝類類型的屬性或方法參數(shù)。

@Size

  • 用于標(biāo)記字符串、集合、Map等類型的屬性或方法參數(shù)的大小范圍。
  • 可以用于String、Collection、Map和數(shù)組類型的屬性或方法參數(shù)。
  • 必須指定大小范圍,例如@Size(min=2, max=10)。

@Pattern

  • 用于標(biāo)記字符串類型的屬性或方法參數(shù)的正則表達(dá)式驗證規(guī)則。
  • 適用于String類型的屬性或方法參數(shù)。
  • 必須指定正則表達(dá)式,例如@Pattern(regexp=“^[a-zA-Z0-9]+$”)。

@Email

  • 用于標(biāo)記字符串類型的屬性或方法參數(shù)必須符合電子郵件地址的格式。
  • 適用于String類型的屬性或方法參數(shù)。
  • 驗證字符串是否符合電子郵件地址的格式。

其他注解

  • @Past:用于驗證日期或時間類型的屬性或方法參數(shù)必須在當(dāng)前時間之前。
  • @Future:用于驗證日期或時間類型的屬性或方法參數(shù)必須在當(dāng)前時間之后。
  • @URL:用于驗證字符串類型的屬性或方法參數(shù)必須符合URL的格式。
  • @IP:用于驗證字符串類型的屬性或方法參數(shù)必須符合IP地址的格式。

這些注解僅提供了基本的驗證規(guī)則,可以根據(jù)實際需求進(jìn)行組合和自定義注解以滿足特定的驗證需求。此外,還可以使用繼承和組合注解來擴展驗證規(guī)則

javax.validation.constraints中@NotBlank和@NotEmpty的區(qū)別

在Java的javax.validation.constraints包中,@NotBlank和@NotEmpty是用于驗證屬性值非空的注解,它們之間有一些區(qū)別。

@NotBlank

@NotBlank 用于驗證一個字符串是否為非空,它會去除字符串兩端的空格后再判斷是否為空。

@NotBlank 可以用在 String 類型的字段上。

例如,@NotBlank 用在一個 String 類型的字段上,如果該字段為 null、空字符串或只包含空格,都會觸發(fā)驗證失敗。

示例:

public class User { @NotBlank private String username; }

@NotEmpty

@NotEmpty 用于驗證一個集合(Collection)、Map、數(shù)組或字符串是否非空,它不會去除字符串兩端的空格,而是直接判斷是否為空。

@NotEmpty 可以用在 Collection、Map、數(shù)組和 String 類型的字段上。

例如,@NotEmpty 用在一個集合類型的字段上,如list 或 JSONArray,如果該集合為空,會觸發(fā)驗證失敗。

示例:

public class User { @NotEmpty private List<String> phoneNumbers; }

    @ApiModelProperty("結(jié)束日期(包含)")
    @NotNull
    private Date endDate;
 
    @ApiModelProperty("任務(wù)生成周天(1,2,3,4,5,6,7)")
    @NotNull
    private String weekDay;
 
    @ApiModelProperty("巡檢當(dāng)天時間班次")
    @NotEmpty
    private JSONArray period;

心得

  • @NotBlank 主要用于驗證字符串類型的字段是否非空,會去除兩端空格后再進(jìn)行判斷。
  • @NotEmpty 用于驗證集合、Map、數(shù)組或字符串類型的字段是否非空,不會去除空格,直接判斷是否為空。

根據(jù)具體的需求,你可以選擇使用 @NotBlank 或 @NotEmpty 進(jìn)行屬性非空的驗證。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在CentOS上安裝Java 17并實現(xiàn)多版本共存的詳細(xì)教程

    在CentOS上安裝Java 17并實現(xiàn)多版本共存的詳細(xì)教程

    在現(xiàn)代軟件開發(fā)中,Java 作為一種廣泛使用的編程語言,其版本更新頻繁,不同項目可能依賴不同版本的 Java 運行環(huán)境,CentOS 作為一款流行的 Linux 發(fā)行版,常被用于服務(wù)器部署和開發(fā)環(huán)境,本文將詳細(xì)介紹如何在 CentOS 上安裝 Java 17,并實現(xiàn)與現(xiàn)有 Java 8 的多版本共存
    2025-03-03
  • SpringBoot項目部署的四種方式詳解

    SpringBoot項目部署的四種方式詳解

    本文詳細(xì)介紹了SpringBoot項目的四種部署方式,包括原始命令部署、寶塔Linux可視化部署、Docker容器化部署和Docker容器平臺托管,每種方式都有其特點和適用場景,需要的朋友可以參考下
    2026-04-04
  • Struts2學(xué)習(xí)筆記(2)-路徑問題解決

    Struts2學(xué)習(xí)筆記(2)-路徑問題解決

    本文主要介紹Struts2的路徑問題,盡量不要使用相對路徑,使用相對路徑會讓路徑問題變得很繁瑣很麻煩,推薦使用絕對路徑,希望能給大家做一個參考。
    2016-06-06
  • Spring IOC與DI核心深入理解

    Spring IOC與DI核心深入理解

    IOC也是Spring的核心之一了,之前學(xué)的時候是采用xml配置文件的方式去實現(xiàn)的,后來其中也多少穿插了幾個注解,但是沒有說完全采用注解實現(xiàn)。那么這篇文章就和大家分享一下,全部采用注解來實現(xiàn)IOC+DI
    2023-02-02
  • SpringBoot結(jié)合mybatis-plus實現(xiàn)分頁的項目實踐

    SpringBoot結(jié)合mybatis-plus實現(xiàn)分頁的項目實踐

    本文主要介紹了SpringBoot結(jié)合mybatis-plus實現(xiàn)分頁的項目實踐,主要基于MyBatis-Plus 自帶的分頁插件 PaginationInterceptor,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • SpringMVC基于注解方式實現(xiàn)上傳下載

    SpringMVC基于注解方式實現(xiàn)上傳下載

    本文主要介紹了SpringMVC基于注解方式實現(xiàn)上傳下載,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • SpringBoot參數(shù)校驗,消除if else方式

    SpringBoot參數(shù)校驗,消除if else方式

    文章介紹了使用JSR303和Spring Boot中的spring-boot-starter-validation進(jìn)行數(shù)據(jù)驗證的方法,包括注解使用、分組驗證、嵌套對象校驗、快速失敗配置以及自定義校驗規(guī)則等內(nèi)容
    2026-04-04
  • MyBatis一對多嵌套查詢的完整實例

    MyBatis一對多嵌套查詢的完整實例

    這篇文章主要給大家介紹了關(guān)于MyBatis一對多嵌套查詢的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • SpringBoot+Redis防止惡意刷新與暴力請求接口的實現(xiàn)

    SpringBoot+Redis防止惡意刷新與暴力請求接口的實現(xiàn)

    這篇文章主要為大家介紹了如何利用springboot和Redis來實現(xiàn)防止惡意刷新與暴力請求接口,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2022-06-06
  • SpringBoot配置application.yml時遇到的錯誤及解決

    SpringBoot配置application.yml時遇到的錯誤及解決

    這篇文章主要介紹了SpringBoot配置application.yml時遇到的錯誤及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07

最新評論

永顺县| 庐江县| 辛集市| 安丘市| 南丰县| 洮南市| 哈巴河县| 宁津县| 桂林市| 大邑县| 黑水县| 固镇县| 乌苏市| 鹤峰县| 元氏县| 尼勒克县| 德州市| 沙田区| 莱西市| 府谷县| 阿尔山市| 乌海市| 雷州市| 蒲江县| 保定市| 思南县| 阿勒泰市| 弋阳县| 玉林市| 界首市| 恩施市| 金川县| 杂多县| 高碑店市| 邹平县| 南丹县| 潞西市| 南木林县| 张家界市| 双流县| 青海省|