不管是html頁面表單提交的對象數據還是和第三方公司進行接口對接,都需要對接收到的數據進行校驗(非空、長度、格式等等)。如果使用if一個個進行校驗(字段非常多),這是讓人崩潰的過程。幸好jdk或hibernate都提供了對object對象的校驗,只需加上相應的註解即可。
Javax validator
註解 | 作用 |
---|---|
@Valid | 被註釋的元素是一個對象,需要檢查此對象的所有字段值 |
@Null | 被註釋的元素必須為 null |
@NotNull | 被註釋的元素必須不為 null |
@AssertTrue | 被註釋的元素必須為 true |
@AssertFalse | 被註釋的元素必須為 false |
@Min(value) | 被註釋的元素必須是一個數字,其值必須大於等於指定的最小值 |
@Max(value) | 被註釋的元素必須是一個數字,其值必須小於等於指定的最大值 |
@DecimalMin(value) | 被註釋的元素必須是一個數字,其值必須大於等於指定的最小值 |
@DecimalMax(value) | 被註釋的元素必須是一個數字,其值必須小於等於指定的最大值 |
@Size(max, min) | 被註釋的元素的大小必須在指定的範圍內 |
@Digits (integer, raction) | 被註釋的元素必須是一個數字,其值必須在可接受的範圍內 |
@Past | 被註釋的元素必須是一個過去的日期 |
@Future | 被註釋的元素必須是一個將來的日期 |
@Pattern(value) | 被註釋的元素必須符合指定的正則表達式 |
Java validator API
查看javax.validation.constraints下面的類即可
Maven引入<!-- https://mvnrepository.com/artifact/javax.validation/validation-api -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
Hibernate validator
註解 | 作用 |
---|---|
被註釋的元素必須是電子郵箱地址 | |
@Length(min=, max=) | 被註釋的字符串的大小必須在指定的範圍內 |
@NotEmpty | 被註釋的字符串的必須非空 |
@Range(min=, max=) | 被註釋的元素必須在合適的範圍內 |
@NotBlank | 被註釋的字符串的必須非空 |
@URL(protocol=,host=, port=, regexp=, flags=) | 被註釋的字符串必須是一個有效的url |
@CreditCardNumber | 被註釋的字符串必須通過Luhn校驗算法,銀行卡,信用卡等號碼一般都用Luhn計算合法性 |
@ScriptAssert(lang=, script=, alias=) | 要有Java Scripting API 即JSR 223 ("Scripting for the JavaTM Platform")的實現 |
@SafeHtml(whitelistType=, additionalTags=) | classpath中要有jsoup包 |
Hibernate validator API
查看org.hibernate.validator.constraints下面的類即可
Maven引入
<!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.1.Final</version>
</dependency>
Tags: 必須 註釋 元素 一個 校驗 指定
文章來源: