除了前端的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 |
驗證是否是合法的郵件地址 | |
@CreditCardNumber | 驗證是否是合法的信用卡號碼 |
@Length(min, max) | 驗證字串的長度必須在指定的範圍內 |
@NotEmpty | 檢査元素是否為NULL或者 EMPTY。用於Array、Collection、Map、 String |
@Range(min, max, message) | 驗證屬性值必須在合適的範圍內 |
本作品採用《CC 協議》,轉載必須註明作者和本文連結