一级毛片成人免费看免费不卡_久久亚洲人成网站_免费播放美女一级毛片_欧美成人在线视频

頻道 > 生活 >   >  正文

【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.

一级毛片成人免费看免费不卡_久久亚洲人成网站_免费播放美女一级毛片_欧美成人在线视频

        亚洲免费观看高清完整| 久久精品噜噜噜成人88aⅴ| 久久爱www久久做| 久久在线观看免费| 亚洲午夜精品在线| 欧美mv日韩mv国产| 一区二区三区中文字幕电影| 激情都市一区二区| 国产精品私人影院| 欧美日韩视频在线一区二区| 国产精品毛片无遮挡高清| 琪琪一区二区三区| 久久久久99精品国产片| 日本韩国一区二区三区视频| 国产无人区一区二区三区| 日韩不卡一二三区| 久久九九国产精品| 欧美日韩在线三级| 亚洲欧美另类在线| 成人久久久精品乱码一区二区三区 | 国产在线播精品第三| 国产精品国产三级国产三级人妇| 欧美体内she精高潮| 中文字幕中文字幕一区| 激情欧美一区二区| 亚洲欧美日韩国产另类专区| 日韩一区二区在线播放| 亚洲综合一区二区三区| av在线免费不卡| 五月激情丁香一区二区三区| 亚洲国产精品激情在线观看| 精品亚洲aⅴ乱码一区二区三区| 中文字幕一区二区三区在线播放 | 亚洲欧洲精品天堂一级 | 91 com成人网| 亚洲成av人影院| 国产亚洲污的网站| 69p69国产精品| 亚洲午夜羞羞片| 国产亚洲精品aa午夜观看| 欧美日韩激情一区二区三区| 亚洲一区在线免费观看| 久久综合九色综合久久久精品综合 | 有码一区二区三区| 91浏览器打开| 欧美日韩精品电影| 香蕉久久夜色精品国产使用方法 | 91精品福利视频| 亚洲视频狠狠干| av在线播放成人| 欧美色图12p| 亚洲一区二区在线观看视频| 国产亚洲精品福利| 精品乱人伦小说| 精品无码三级在线观看视频| 亚洲一区二区三区四区在线观看| 国产精品人人做人人爽人人添| 国产精品一区二区三区四区| 午夜久久久久久久久久一区二区| 国产精品久99| 91蝌蚪国产九色| 欧美一级高清片在线观看| 日本不卡一区二区三区 | 91精品国产综合久久久久久漫画| 日韩成人精品在线观看| 亚洲精品国产无天堂网2021| 中文字幕久久午夜不卡| 波多野结衣一区二区三区| 欧美日韩国产综合一区二区| 日本成人在线视频网站| 亚洲综合色在线| 亚洲美女视频在线| 国产精品私人影院| 国产精品女人毛片| 26uuu成人网一区二区三区| 日韩欧美电影一二三| 国产呦萝稀缺另类资源| 在线视频你懂得一区| 午夜婷婷国产麻豆精品| 一区二区三区欧美日韩| 亚洲精品伦理在线| 国产精品人成在线观看免费| 欧美国产精品一区二区三区| 91欧美激情一区二区三区成人| 日韩亚洲国产中文字幕欧美| 国产一区二区按摩在线观看| 欧美午夜精品理论片a级按摩| 日韩成人一区二区三区在线观看| 亚洲专区一二三| 亚洲国产日韩a在线播放| 亚洲精品综合在线| 亚洲在线观看免费| 亚洲男人电影天堂| 一区二区三区精品久久久| 自拍偷拍国产精品| 伊人婷婷欧美激情| 亚洲日本丝袜连裤袜办公室| 亚洲欧美激情在线| 国产精品久线在线观看| 亚洲欧美日本在线| 亚洲欧美日韩人成在线播放| 一级精品视频在线观看宜春院| 亚洲丝袜自拍清纯另类| 亚洲理论在线观看| 亚洲精品亚洲人成人网| 亚洲午夜精品在线| 午夜精品久久久久久久蜜桃app| 奇米亚洲午夜久久精品| 欧美性一区二区| 国产麻豆精品在线| 日韩欧美一区二区三区在线| 成人av网站免费| 久久久久国产精品麻豆| 国产亚洲欧美日韩日本| 亚洲欧洲日韩一区二区三区| 亚洲日本欧美天堂| 婷婷综合另类小说色区| 日本久久电影网| 国产精品久久久久久久久久久免费看| 欧美韩国日本不卡| 亚洲免费观看高清完整版在线观看 | 亚洲乱码国产乱码精品精98午夜| 一区二区在线免费观看| 婷婷综合五月天| 欧美午夜宅男影院| 国产成人aaa| 久久精品人人爽人人爽| 国产精品理论在线观看| 亚洲福利国产精品| 欧美网站一区二区| 成熟亚洲日本毛茸茸凸凹| 久久精品一区二区三区不卡牛牛| 欧美激情一区三区| 亚洲一级不卡视频| 在线观看日产精品| 成人综合在线视频| 亚洲国产成人私人影院tom| 国产精品国产三级国产aⅴ原创 | 欧美天堂一区二区三区| thepron国产精品| 中文字幕+乱码+中文字幕一区| 亚洲色图清纯唯美| 青青草精品视频| 日韩一区二区三区观看| 久久久www成人免费无遮挡大片| 亚洲欧美日韩一区二区三区在线观看| 亚洲福利视频一区二区| 黄色小说综合网站| 久久亚洲精品小早川怜子| 中文字幕一区二区三区四区不卡 | 日韩欧美国产三级| 日本一区二区动态图| 五月婷婷激情综合网| 91精品免费观看| 国产日韩精品一区二区三区在线| 亚洲一区二区三区不卡国产欧美| 欧美丝袜自拍制服另类| 91亚洲国产成人精品一区二三| 亚洲欧美日韩系列| 在线免费观看日本欧美| 97精品久久久午夜一区二区三区 | 99精品偷自拍| 亚洲黄网站在线观看| 欧美三级资源在线| 国产日韩精品视频一区| 日韩av中文字幕一区二区| 欧美成人三级在线| 亚洲激情图片qvod| 国产成人综合亚洲91猫咪| 国产精品乱码妇女bbbb| 91久久精品日日躁夜夜躁欧美| 91麻豆视频网站| 亚洲成人黄色影院| 日韩精品一区二区三区蜜臀| 亚洲欧美日韩精品久久久久| 久88久久88久久久| 亚洲欧洲无码一区二区三区| 欧美午夜电影一区| 亚洲国产精品二十页| 蜜桃视频免费观看一区| 国产欧美日韩在线| 欧日韩精品视频| 国产日韩亚洲欧美综合| 精品一区二区三区免费毛片爱| 国产目拍亚洲精品99久久精品| 色综合天天综合在线视频| 亚洲午夜久久久久中文字幕久| 91精品国产综合久久婷婷香蕉| 亚洲三级免费电影| 粗大黑人巨茎大战欧美成人| 亚洲一区免费在线观看| 精品国产伦一区二区三区免费| 夜夜精品浪潮av一区二区三区| 99久久免费国产| 日产国产欧美视频一区精品| 国产亚洲一本大道中文在线| 欧美三日本三级三级在线播放| 国产精品无圣光一区二区| 国产一区不卡精品| 亚洲国产精品久久艾草纯爱|