Java中spring boot validation自定義注解使用方式
更新時間:2024年08月05日 16:55:16 作者:妍老大
這篇文章主要介紹了Java中spring boot validation自定義注解使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
spring boot validation自定義注解
創(chuàng)建一個注解
@Target({ElementType.FIELD})//需要寫注解的三三個要素 @Retention(RUNTIME) @Documented @Constraint(validatedBy = {IsSystemYesNoVaildation.class})//綁定 在這里會報錯 你需要去實現(xiàn) public @interface IsSystemYesNo { String message() default "數(shù)據(jù)字典:【系統(tǒng)是否】-參數(shù)不合法"; //要添加下面這兩個 Class<?>[] groups() default { }; Class<? extends Payload>[] payload() default {}; }
public class IsSystemYesNoVaildation implements //入?yún)? 類型 ConstraintValidator<IsSystemYesNo,String> {//實現(xiàn) @Override public boolean isValid(String value, ConstraintValidatorContext context) { //把video傳進來 自定義注解就寫好了 return SystemYesNo.isCode(value); } }
最后這里是使用注解方法
spring boot Validation校驗注解參考表
校驗注解 | 注解的元素類型 | 描述 |
@AssertFalse | Boolean、boolean | 被注解的元素值必須為 false |
@AssertTrue | Boolean、boolean | 被注解的元素值必須為 true |
@DecimalMax | BigDecimal、BigInteger、CharSequence、byte、short、int、long以及它們各自的包裝類 | 被注解的元素值小于等于@DecimalMax注解中的value 值 |
@DecimalMin | 被注解的元素值大于等于@DecimalMin注解 中的value 值 | |
@Max | BigDecimal、BigInteger、byte、short、int、long以及它們各自的包裝類 | 被注解的元素值小于等于@Max注解中的value 值 |
@Min | 被注解的元素值大于等于@Min注解 中的value 值 | |
@Digits | BigDecimal、BigInteger、CharSequence、byte、short、int、long以及它們各自的包裝類 | 被注解的元素必須是一個數(shù)字,其值必須在可接受的范圍內(nèi)(整數(shù)位數(shù)和小數(shù)位數(shù)在指定范圍內(nèi) |
CharSequence | 被注解的元素必須是Email格式 | |
@Future | Java.util.Date、java.util.Calendar以及java.time包下的時間類 | 被注解的元素值必須是一個未來的日期 |
@Past | 被注解的元素值必須是一個過去的日期 | |
@PastOrPresent | 被注解的元素值必須是一個過去的日期或者當(dāng)前日期 | |
@FutureOrPresent | 被注解的元素值必須是一個未來的日期或者當(dāng)前日期 | |
@Negative | BigDecimal、BigInteger、byte、short、int、long以及它們各自的包裝類 | 被注解的元素必須是負數(shù) |
@NegativeOrZero | 被注解的元素必須是負數(shù)或0 | |
@Positive | 被注解的元素必須是正數(shù) | |
@PositiveOrZero | 被注解的元素必須是或0 | |
@NotBlank | CharSequence | 被注解的元素必須部位null并且至少有一個非空白的字符 |
@NotEmpty | CharSequence、Collection、Map、Array | 被注解的字符串不為null或空字符串,被注解的集合或數(shù)組不為空。和@NotBlank注解相比,一個空格字符串在@NotBlank驗證不通過,但在NotEmpty中通過驗證 |
@NotNull | 任意類型 | 被注解的元素不為null |
@Null | 被注解的元素為null | |
@Pattern | CharSequence | 被注解的 元素必須符合指定的正則表達式 |
@Size | CharSequence、Collection、Map、Array | 被注解的字符串長度、集合或數(shù)組的大小必須在指定范圍內(nèi) |
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
java rocketmq--消息的產(chǎn)生(普通消息)
這篇文章主要介紹了java rocketmq--消息的產(chǎn)生(普通消息),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,,需要的朋友可以參考下2019-06-06Java?實戰(zhàn)范例之校園二手市場系統(tǒng)的實現(xiàn)
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+mysql+maven+tomcat實現(xiàn)一個校園二手市場系統(tǒng),大家可以在過程中查缺補漏,提升水平2021-11-11SpringBoot+Redis實現(xiàn)數(shù)據(jù)字典的方法
這篇文章主要介紹了SpringBoot+Redis實現(xiàn)數(shù)據(jù)字典的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Java SE使用數(shù)組實現(xiàn)高速數(shù)字轉(zhuǎn)換功能
隨著大數(shù)據(jù)時代的到來,數(shù)字轉(zhuǎn)換功能變得越來越重要,在Java開發(fā)中,數(shù)字轉(zhuǎn)換功能也是經(jīng)常用到的,下面我們就來學(xué)習(xí)一下如何使用Java SE數(shù)組實現(xiàn)高速的數(shù)字轉(zhuǎn)換功能吧2023-11-11Java版超大整數(shù)階乘算法代碼詳解-10,0000級
這篇文章主要介紹了Java版超大整數(shù)階乘算法代碼詳解-10,0000級,具有一定借鑒價值,需要的朋友可以參考下2018-01-01一天時間用Java寫了個飛機大戰(zhàn)游戲,朋友直呼高手
前兩天我發(fā)現(xiàn)論壇有兩篇飛機大戰(zhàn)的文章異?;鸨?但都是python寫的,竟然不是我大Java,說實話作為老java選手,我心里是有那么一些失落的,今天特地整理了這篇文章,需要的朋友可以參考下2021-05-05