Java Validation Api使用方法實例解析
在我們應用程序的業(yè)務邏輯中,經(jīng)常會碰到參數(shù)校驗的情況,手動的在代碼層上面進行校驗就會帶來很不好的體驗,閱讀、維護的成本會大大增加,造成冗余。因此有了這個JSR 303。
Bean Validation為JavaBean提供了相應的API來給我們做參數(shù)的驗證。通過Bean Validation比如@NotNull @Pattern等方法來對我們字段的值做進一步的教研。
Bean Validation是一個運行時框架,在驗證之后錯誤信息會直接返回。
依賴:
<!--添加依賴--> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> </dependency>
注意: SpringBoot2 項目web組件已經(jīng)內(nèi)置了這個依賴了。
版本提供依賴:
依賴注釋:
注解 | 用途 |
---|---|
AssertFalse | 用于boolean字段,該字段的值只能為false |
AssertTrue | 用于boolean字段,該字段只能為true |
DecimalMax(value) | 被注釋的元素必須是一個數(shù)字,只能大于或等于該值 |
DecimalMin(value) | 被注釋的元素必須是一個數(shù)字,只能小于或等于該值 |
Digits(integer,fraction) | 檢查是否是一種數(shù)字的(整數(shù),小數(shù))的位數(shù) |
被注釋的元素必須是電子郵箱地址 | |
Future | 檢查該字段的日期是否是屬于將來的日期 |
FutureOrPresent | 判斷日期是否是將來或現(xiàn)在日期 |
Max(value) | 該字段的值只能小于或等于該值 |
Min(value) | 該字段的值只能大于或等于該值 |
Negative | 判斷負數(shù) |
NegativeOrZero | 判斷負數(shù)或0 |
NotBlank | 只能用于字符串不為null,并且字符串trim()以后length要大于0 |
NotEmpty | 集合對象的元素不為0,即集合不為空,也可以用于字符串不為null |
NotNull | 不能為null |
Null | 必須為 null |
Past | 檢查該字段的日期是在過去 |
PastOrPresent | 判斷日期是否是過去或現(xiàn)在日期 |
Pattern(value) | 被注釋的元素必須符合指定的正則表達式 |
Positive | 判斷正數(shù) |
PositiveOrZero | 判斷正數(shù)或0 |
Size(max, min) | 檢查該字段的size是否在min和max之間,可以是字符串、數(shù)組、集合、Map等 |
Length(max, min) | 判斷字符串長度 |
CreditCardNumber | 被注釋的字符串必須通過Luhn校驗算法,銀行卡,信用卡等號碼一般都用Luhn計算合法性 |
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot實現(xiàn)滑塊驗證碼驗證登陸校驗功能詳解
驗證碼作為一種自然人的機器人的判別工具,被廣泛的用于各種防止程序做自動化的場景中。傳統(tǒng)的字符型驗證安全性已經(jīng)名存實亡的情況下,各種新型的驗證碼如雨后春筍般涌現(xiàn),今天給大家分享一篇SpringBoot實現(xiàn)滑塊驗證碼2022-09-09啟動異常invalid constant type:15的解決方案
今天小編就為大家分享一篇關(guān)于啟動異常invalid constant type:15的解決方案,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12使用Spring Boot的LoggersEndpoint管理日志級別
這篇文章主要為大家介紹了使用Spring Boot的LoggersEndpoint管理日志級別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11myeclipse開發(fā)servlet_動力節(jié)點Java學院整理
MyEclipse,是在eclipse基礎(chǔ)上加上自己的插件開發(fā)而成的功能強大的企業(yè)級集成開發(fā)環(huán)境,主要用于Java、Java EE以及移動應用的開發(fā)。下面這篇文章主要給大家介紹了關(guān)于myeclipse開發(fā)servlet的相關(guān)資料,需要的朋友可以參考下。2017-07-07SpringBoot?將配置文件掛到?jar?包外面的操作方法
在 SpringBoot 中,可以將配置文件放在 jar 包外面,這樣可以方便地修改配置而不需要重新打包和部署,這篇文章主要介紹了SpringBoot?如何將配置文件掛到?jar?包外面,需要的朋友可以參考下2023-03-03