久久国内精品视频,激情懂色av一区av二区av,国产精品无码永久免费888,欧美日韩国产精品自在自线

頻道 > 生活 >   >  正文

【Java】使用 validation 完成自定義校驗注解

評論

總括:

validation 讓我們簡化了開發過程,可以使用簡單的一個注解就實現了很多常見的檢驗數據的功能,同時支持自定義注解。spring-boot-starter-validation 是由 Spring Boot 整合的一套用于處理validation 的約定化自動配置啟動器。Spring 系列框架通過簡單的安裝依賴即可直接使用 validation 提供的參數校驗功能,通過為接口添加 @Valid / @Validated 對特定參數進行校驗。

使用方法:

1. 安裝依賴

    org.springframework.boot    spring-boot-starter-validation

如果已使用 Spring Boot 框架可以不指定版本號,依賴于Spring Boot 版本。


(資料圖)

2. 接口參數添加@Valid / @Validated 進行參數校驗

@RequestMapping("/doLogin")@ResponseBodypublic ResponseBean doLogin(@Valid LoginVo loginVo, HttpServletRequest request, HttpServletResponse response) {    return userService.doLogin(loginVo, request, response);}

3. 在需要進行校驗的參數的屬性上使用validation 基礎注解

/* 空檢查 */@Null     // 驗證對象是否為null@NotNull        // 驗證對象是否不為null, 無法查檢長度為0的字符串@NotBlank      // 檢查約束字符串是不是Null還有被Trim的長度是否大于0,只對字符串,且會去掉前后空格.@NotEmpty      // 檢查約束元素是否為NULL或者是EMPTY. /* Booelan檢查 */@AssertTrue      // 驗證 Boolean 對象是否為 true  @AssertFalse         // 驗證 Boolean 對象是否為 false  /* 長度檢查 */@Size(min=, max=)   // 驗證對象(Array,Collection,Map,String)長度是否在給定的范圍之內  @Length(min=, max=)    // 驗證注解的元素值長度在min和max區間內/* 日期檢查 */@Past          // 驗證 Date 和 Calendar 對象是否在當前時間之前  @Future          // 驗證 Date 和 Calendar 對象是否在當前時間之后  @Pattern          // 驗證 String 對象是否符合正則表達式的規則/* 數值檢查,建議使用在Stirng,Integer類型,不建議使用在int類型上,因為表單值為“”時無法轉換為int,但可以轉換為Stirng為"",Integer為null */@Min      // 驗證 Number 和 String 對象是否大等于指定的值  @Max      // 驗證 Number 和 String 對象是否小等于指定的值  @DecimalMax     // 被標注的值必須不大于約束中指定的最大值. 這個約束的參數是一個通過BigDecimal定義的最大值的字符串表示.小數存在精度@DecimalMin     // 被標注的值必須不小于約束中指定的最小值. 這個約束的參數是一個通過BigDecimal定義的最小值的字符串表示.小數存在精度@Digits          // 驗證 Number 和 String 的構成是否合法  @Digits(integer=,fraction=) // 驗證字符串是否是符合指定格式的數字,interger指定整數精度,fraction指定小數精度。@Range(min=, max=) // 驗證注解的元素值在最小值和最大值之間 @Range(min=10000,max=50000,message="range.bean.wage")/* 其他檢驗 */@Valid               // 寫在方法參數前,遞歸的對該對象進行校驗, 如果關聯對象是個集合或者數組,那么對其中的元素進行遞歸校驗,如果是一個map,則對其中的值部分進行校驗.(是否進行遞歸驗證)@CreditCardNumber    // 信用卡驗證@Email               // 驗證是否是郵件地址,如果為null,不進行驗證,算通過驗證。@ScriptAssert(lang= ,script=, alias=) // 簡單腳本校驗@URL(protocol=,host=, port=,regexp=, flags=) // IP地址校驗                

4. 自定義參數校驗注解

4.1 自定義注解

可以照抄@NotNull 等基礎校驗注解的寫法

@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER, ElementType.TYPE_USE})@Retention(RetentionPolicy.RUNTIME)@Documented@Constraint(        validatedBy = {IsMobileValidator.class})public @interface IsMobile {    boolean required() default true;    String message() default "手機號碼格式錯誤";    Class[] groups() default {};    Class[] payload() default {};}

4.2 實現ConstraintValidator 接口,用以實現自定義參數校驗邏輯

public class IsMobileValidator implements ConstraintValidator {      private boolean required = false;   /**   *@Param: {@link IsMobile } constraintAnnotation   *@Return: void   *@TODO: 初始化方法,可以用自定義注解中獲取值進行初始化    **/    @Override    public void initialize(IsMobile constraintAnnotation) {        required = constraintAnnotation.required();    }       /**    *@Param: {@link String} value   *@Param: {@link ConstraintValidatorContext } constraintValidatorContext   *@Return: {@link boolean}   *@TODO: 實際校驗自定義注解 value 值   **/    @Override    public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {        if(required){            return ValidatorUtil.isMobile(value);        }else {            if(StringUtils.isEmpty(value)){                return true;            }else {                return ValidatorUtil.isMobile(value);            }        }    }}

其中IsMobile 為自定義注解名(根據個人需求自己命名),isValid 方法具體校驗邏輯由個人需求及業務確定。使用時同基礎校驗注解一般放置在需要校驗的參數屬性上即可。

注意:自定義注解上必須有@Constraint 注解,其中validatedBy 指定執行校驗的類,該類必須實現ConstraintValidator 接口

標簽:

今日熱點

熱點排行

最近更新

所刊載信息部分轉載自互聯網,并不代表本網贊同其觀點和對其真實性負責。郵箱:5855973@qq.com

聯系我們| 中國品牌網 | 滬ICP備2022005074號-18 營業執照  Copyright © 2018@. All Rights Reserved.

久久国内精品视频,激情懂色av一区av二区av,国产精品无码永久免费888,欧美日韩国产精品自在自线
一区二区电影免费在线观看| 136国产福利精品导航网址| 亚洲欧美另类在线观看| 久久久综合视频| 久久成人免费视频| 欧美a级片网站| 欧美三区美女| 一区二区三区视频在线观看| 一本久久青青| 久久午夜色播影院免费高清| 国产亚洲日本欧美韩国| 国产精品亚洲一区| 欧美日韩国产精品一区| 99精品欧美一区二区三区综合在线| 日韩一二在线观看| 亚洲在线网站| 国产欧美一二三区| 欧美成人午夜激情在线| 欧美日韩免费区域视频在线观看| 国产在线高清精品| 欧美一区网站| 国外成人免费视频| 久久久精品国产免费观看同学| 欧美三级午夜理伦三级中文幕| 欧美日韩一区精品| 久久夜色精品亚洲噜噜国产mv| 一区二区三区波多野结衣在线观看| 亚洲愉拍自拍另类高清精品| 欧美—级a级欧美特级ar全黄| 亚洲一区二区三区四区在线观看| 欧美成人免费观看| 国产亚洲精品bv在线观看| 欧美午夜性色大片在线观看| 国产精品入口66mio| 国产精品亚洲аv天堂网| 国产亚洲成av人在线观看导航| 国产精品日韩在线观看| 亚洲伦理精品| 国产精品国码视频| 亚洲字幕一区二区| 欧美精品在线视频观看| 日韩视频一区| 欧美人成在线| 国产精品美女久久| 快射av在线播放一区| 欧美精品不卡| 国产精品国产三级国产aⅴ浪潮| 亚洲国产精品一区二区第一页| 欧美大成色www永久网站婷| 久久精品人人做人人爽| 国产精品高清在线观看| 国产日韩欧美另类| 免费欧美日韩国产三级电影| 欧美午夜不卡影院在线观看完整版免费| 国产麻豆精品久久一二三| 欧美成人精精品一区二区频| 欧美激情亚洲| 国产精品igao视频网网址不卡日韩| 欧美一区2区三区4区公司二百| aa国产精品| 99av国产精品欲麻豆| 欧美激情导航| 国产精品久久久久久模特| 亚洲男人第一av网站| 国产精品日韩一区二区| 久久久久国色av免费观看性色| 国产视频久久| 欧美激情亚洲激情| 99香蕉国产精品偷在线观看| 久久综合国产精品| 一区二区视频在线观看| 亚洲伊人网站| 亚洲男人的天堂在线观看| 夜夜嗨av一区二区三区网站四季av| 国产精品久久一卡二卡| 亚洲乱码日产精品bd| 久久精品人人做人人爽| 狠狠做深爱婷婷久久综合一区| 亚洲视频电影图片偷拍一区| 亚洲免费一区二区| 在线看片第一页欧美| 国产精品hd| 欧美午夜精品久久久| 伊人久久大香线| 欧美性一区二区| 亚洲综合精品一区二区| 国产精品扒开腿做爽爽爽视频| 国产精品久久久久久久久久三级| 亚洲国产黄色| 国产丝袜一区二区三区| 国产视频欧美视频| 亚洲电影在线免费观看| 老司机亚洲精品| 亚洲黄色成人久久久| 亚洲欧洲精品一区二区| 欧美日韩午夜在线| 亚洲精品精选| 国产在线拍偷自揄拍精品| 欧美日韩美女在线观看| 麻豆精品精华液| 亚洲另类视频| 欧美一级专区免费大片| 欧美日本中文字幕| 亚洲午夜激情免费视频| 欧美亚洲在线播放| 国产精品久久久久久久久久直播| 国产麻豆精品在线观看| 久久精视频免费在线久久完整在线看| 狠狠入ady亚洲精品经典电影| 午夜亚洲影视| 久久久久国产精品厨房| 99精品欧美一区| 一本色道久久加勒比88综合| 久久综合九色综合久99| 久久夜色精品亚洲噜噜国产mv| 午夜久久黄色| 尤物yw午夜国产精品视频明星| 国产精品亚洲综合久久| 欧美sm视频| 欧美日本亚洲| 欧美成人乱码一区二区三区| 欧美日韩国产三级| 欧美高清在线精品一区| 国产精品视频内| 欧美日韩免费看| 亚洲欧美日产图| 久久亚洲精品一区| 国产精品入口夜色视频大尺度| 国产精品高精视频免费| 国产亚洲欧洲一区高清在线观看| 久久精彩免费视频| 国产精品综合av一区二区国产馆| 欧美日韩精品在线观看| 娇妻被交换粗又大又硬视频欧美| 久久久噜噜噜久噜久久| 亚洲一级在线| 久久av资源网| 亚洲视频图片小说| 欧美精品亚洲二区| 国产亚洲福利社区一区| 欧美日韩在线免费观看| 性18欧美另类| 国产欧美日韩综合一区在线观看| 亚洲系列中文字幕| 久久se精品一区精品二区| 在线日本欧美| 欧美一区二区三区免费观看视频| 亚洲欧美影院| 黄色日韩网站| 亚洲小视频在线观看| 欧美日韩亚洲一区二区| 激情欧美一区二区三区在线观看| 欧美色欧美亚洲高清在线视频| 另类av一区二区| 国产精品永久| 裸体丰满少妇做受久久99精品| 亚洲视频图片小说| 日韩亚洲欧美高清| 欧美91精品| 国产伦精品一区二区| 国产精品视频一区二区三区| 久久精品免费看| 国产精品视频专区| 国产精品美女久久久免费| 欧美亚洲在线| 国产精品资源| 欧美午夜片在线观看| 国产精品在线看| 久久精品日韩一区二区三区| 国产精品va| 欧美成人a视频| 国产精品久久久久国产a级| 亚洲一区精彩视频| 美女精品国产| 欧美日韩国产亚洲一区| 亚洲欧美国产视频| 亚洲福利电影| 欧美日韩在线观看一区二区三区| 亚洲欧美在线免费| 欧美视频一区| 久久影视三级福利片| 欧美怡红院视频一区二区三区| 欧美日韩中文字幕精品| 国产一区二区三区久久| 亚洲美女视频在线免费观看| 欧美jizz19性欧美| 久久一区二区三区四区五区| 亚洲国产另类 国产精品国产免费| 亚洲影音先锋| 亚洲黄色成人久久久| 亚洲国产精品综合| 99re6这里只有精品视频在线观看| 国产综合色产| 免费看精品久久片| 亚洲天堂网在线观看| 亚洲五月婷婷| 国精品一区二区| 午夜一区二区三视频在线观看| 亚洲欧洲精品一区二区三区不卡| 亚洲视频国产视频|