SpringBoot - @Valid 參數校驗


一、常用校驗注解

空檢查

  • @Null:限制只能為null
  • @NotNull:限制必須不為null
  • @NotEmpty:驗證注解的元素值不為null且不為空(字符串長度不為0、集合大小不為0)
  • @NotBlank:驗證注解的元素值不為空(不為null、去除首位空格后長度為0),不同於@NotEmpty,@NotBlank只應用於字符串且在比較時會去除字符串的空格

Boolean檢查

  • @AssertFalse:限制必須為false
  • @AssertTrue:限制必須為true

長度檢查

  • @Size(max, min):限制字符串、數組、集合長度范圍必須在min到max之間
  • @Length(min=, max=):驗證注解的元素值長度在min和max區間內,只能用於字符串

日期檢查:Date/Calendar

  • @Past:限制必須是一個過去的日期
  • @Future:限制必須是一個將來的日期
  • @Pattern(regexp="reg"):限制必須符合指定的正則表達式

數值檢查:建議使用在Stirng,Integer類型

  • @Min(value):限制必須為一個不小於指定值的數字
  • @Max(value):限制必須為一個不大於指定值的數字
  • @DecimalMin(value):限制必須為一個不小於指定值的數字
  • @DecimalMax(value):限制必須為一個不大於指定值的數字
  • @Digits:驗證是否為數字
  • @Digits(integer, fraction):限制必須為一個小數,且整數部分的位數不能超過integer,小數部分的位數不能超過fraction
  • @Range(min=long1,max=long2):檢查數字是否在范圍min到max之間

其他驗證

  • @Vaild:遞歸驗證,用於對象、數組和集合,會對對象的元素、數組的元素進行一一校驗
  • @Email:用於驗證一個字符串是否是一個合法的右鍵地址,空字符串或null算驗證通過
  • @URL(protocol=協議,host=主機,port=端口號,regexp=正則表達式,flags=標識):用於校驗一個字符串是否是合法URL


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM