1、什麼是Bean Validation 2.0。
JSR是Java Specification Requests的縮寫,意思是Java 規範提案。是指向java管理組織,JCP(Java Community Process)標準組織提出新增一個標準化技術規範的正式請求。任何人均可以提交JSR,以向Java平臺增添新的API和服務。JSR已成爲Java界的一個重要標準。java
2、 Bean Validation 的連接:
也就是說JSR提出了一個標準JSR #380 Bean Validation 2.0。而後hibernate-validator實現了這個標準。(相似於JDBC,而後其餘廠商實現JDBC)git
3、Bean Validation 的用法。
一、在springboot中,直接在java屬性上面使用Bean Validation的註解。以下:
public class CustomerUpdateVO{
@Size(max = 32)
private String name;
@Size(max = 255)
private String coverImg;
//省略getter、setter。
}
- @Size(max = 255) 表示這個屬性的最大長度是255。超過就會校驗錯誤。
二、而後controller中直接使用:
@PutMapping("/{id}")
public update(@PathVariable String id, @Valid @RequestBody CustomerUpdateVO updateVO) {
//其餘代碼
}
4、Bean Validation 2.0 都有哪些註解。
- 其餘的註解能夠查看Bean Validation 2.0的標準文檔: https://beanvalidation.org/2.0/spec/
- 也能夠查看API文檔:https://docs.jboss.org/hibernate/beanvalidation/spec/2.0/api/
- 經過查看API文檔,能夠看到Bean Validation 2.0有下面這些內置的檢驗規則。具體使用後面補充。
- AssertFalse
- AssertFalse.List
- AssertTrue
- AssertTrue.List
- DecimalMax
- DecimalMax.List
- DecimalMin
- DecimalMin.List
- Digits 帶註釋的元素必須是可接受範圍內的數字。支持的類型是:
BigDecimal、BigInteger、字符串,(byte, short, int, long 和他們的包裝類)。null元素被認爲是有效的。
例如:@Digits(integer = 6, fraction = 2)
integer表示: 此數字接受的最大整數位數。這裏是6;fraction 表示:此數字接受的最大小數位數,這裏是2
- Digits.List
- Email
- Email.List
- Future
- Future.List
- FutureOrPresent
- FutureOrPresent.List
- Max
- Max.List
- Min
- Min.List
- Negative
- Negative.List
- NegativeOrZero
- NegativeOrZero.List
- NotBlank 帶註釋的元素不能是null,必須包含至少一個非空字符。
支持的類型string(字符串至少一個非空字符)。
- NotBlank.List
- NotEmpty 帶註釋的元素不能null或空。
支持的類型:string(字符串長度),Collection(集合大小), Map(map的大小), Array(數組的長度)
- NotEmpty.List
- NotNull
- NotNull.List
- Null
- Null.List
- Past
- Past.List
- PastOrPresent
- PastOrPresent.List
- Pattern
- Pattern.List
- Positive 帶註釋的元素必須嚴格正數(即0被認爲是一個無效的值)。null元素被認爲是有效的。
支持的類型:BigDecimal、BigInteger、(byte, short, int, long, float, double 和他們的包裝類)
- Positive.List
- PositiveOrZero 帶註釋的元素必須是正數或0。null元素被認爲是有效的。
支持的類型:BigDecimal、BigInteger、(byte, short, int, long, float, double 和他們的包裝類)
- PositiveOrZero.List
- Size 帶註釋的元素大小必須在指定的邊界之間(包括)。null元素被認爲是有效的。
支持的類型:string(字符串長度),Collection(集合大小), Map(map的大小), Array(數組的長度)
- Size.List