JSR303 資料校驗

HuDu發表於2020-07-17

除了前端的js驗證,服務端也可加入資料驗證,springmvc中有兩種方式可以驗證輸入

  • 利用spring自帶的驗證框架
  • 利用jsr303實現
public class User {
    @NotEmpty(message = "使用者編碼不能為空")
    private String userCode;

    @NotEmpty(message = "使用者名稱稱不能為空")
    private String userName;

    @NotNull(message = "密碼不能為null")
    @Length(min = 6, max = 10, message = "使用者密碼長度為6-10")
    private String userPassword;

    @Past(message = "必須是一個過去的時間")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;

}
註解 功能
@Notnull 驗證物件是否不為mul,無法檢査長度為0的字串,於驗證基本資料型別
@Null 驗證物件是否為null
@AssertTrue 驗證 Boolean物件是否為true
@AssertFalse 驗證 Boolean物件是否為false
@Max(value) 驗正Number和String物件是否小於等於指定的值
@Min(value) 驗正Number和String物件是否大於等於指定的值
@DecimalMax(value) 被標註的值必須不大於約束中指定的最大值。這個約束的引數是一個通過 Big Decimal定義的最大值的字串表示,小數存在精度
@DecimalMin(value) 被標註的值必須不小於約束中指定的最小值。這個約束的引數是一個通過 Big Decimal定義的最小值的字串表示,小數存在精度
@Digits(integer, fraction) 驗證字串是否是符合指定格式的數字, Interger指定整數精度, fraction指定小數精度
@Size(min, max) 驗證物件(Array、Collection、Map、 String)長度是否在給定的範圍之內
@Past 驗證Date和 Calendar物件是否在當前時間之前
@Future 驗證Date和 Calendar物件是否在當前時間之後
@Pattern 驗證 String物件是否符合正規表示式的規則
@NotBlank 檢查約束字串是不是Null,被Trim的長度是否大於0。只對字串,且會去掉前後空格
@URL 驗證是否是合法的url
@Email 驗證是否是合法的郵件地址
@CreditCardNumber 驗證是否是合法的信用卡號碼
@Length(min, max) 驗證字串的長度必須在指定的範圍內
@NotEmpty 檢査元素是否為NULL或者 EMPTY。用於Array、Collection、Map、 String
@Range(min, max, message) 驗證屬性值必須在合適的範圍內
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章