久久国内精品视频,激情懂色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,欧美日韩国产精品自在自线
欧美日韩中文在线| 一区视频在线| 国产一区二区三区免费在线观看| 亚洲精一区二区三区| 久久国产精品色婷婷| 性色av一区二区三区在线观看| 亚洲人线精品午夜| 欧美剧在线免费观看网站| 免费成人av资源网| 你懂的一区二区| 香蕉久久精品日日躁夜夜躁| 欧美精品国产一区| 国产精品久久久久久久久婷婷| 亚洲国产精品福利| 日韩视频在线免费观看| 亚洲精品欧美专区| 国产精品日日摸夜夜摸av| 国产有码一区二区| 欧美中文字幕第一页| 极品少妇一区二区| 国产亚洲欧美一区二区三区| 美女在线一区二区| 欧美日韩成人在线播放| 欧美一区二区三区男人的天堂| 久久中文久久字幕| 午夜综合激情| 国产欧美一区二区三区国产幕精品| 国产精品任我爽爆在线播放| 亚洲国产精品尤物yw在线观看| 亚洲美女精品成人在线视频| 国内自拍视频一区二区三区| 国产一区av在线| 亚洲一区二区综合| 中文av一区二区| 欧美3dxxxxhd| 亚洲一区二区在线观看视频| 久久国内精品自在自线400部| 亚洲大胆人体视频| 亚洲欧美日韩一区二区三区在线| 亚洲精品久久久久久久久久久久久| 国产精品视频| 亚洲精品美女在线观看播放| 久久综合图片| 国语对白精品一区二区| 欧美成人免费小视频| 国产又爽又黄的激情精品视频| 99国产精品视频免费观看| 久久香蕉国产线看观看av| 在线午夜精品| 欧美午夜激情在线| 欧美日韩一区二区免费在线观看| 一区二区三区日韩在线观看| 一本色道精品久久一区二区三区| 国产精品欧美日韩一区二区| 午夜精品亚洲一区二区三区嫩草| 亚洲欧美日韩中文视频| 国产精品一区二区在线观看不卡| 激情五月综合色婷婷一区二区| 国产一区二区三区精品久久久| 欧美激情第五页| 免费久久精品视频| 久久裸体艺术| 精品福利电影| 亚洲理论在线观看| 99热这里只有成人精品国产| 蜜桃av噜噜一区| 亚洲香蕉成视频在线观看| 国产日产亚洲精品| 国产精品国产精品国产专区不蜜| 国产精品亚洲精品| 欧美久久久久久| 韩国成人精品a∨在线观看| 影音先锋亚洲精品| 亚洲综合视频1区| 久久久久久久网站| 亚洲免费一级电影| 亚洲高清不卡| 欧美日韩国产在线一区| 亚洲欧美综合精品久久成人| 在线亚洲电影| 欧美午夜片欧美片在线观看| 欧美高清在线一区二区| 亚洲人成在线播放网站岛国| 黄色欧美成人| 欧美成人免费在线| 久久精品卡一| 久久精品视频在线看| 精品成人一区二区三区| 美女亚洲精品| 久久国产婷婷国产香蕉| 麻豆精品传媒视频| 久久久精品午夜少妇| 在线看片日韩| 亚洲一区日本| 麻豆久久久9性大片| 好看的av在线不卡观看| 国产女人18毛片水18精品| 亚洲国产欧美日韩精品| 欧美在线免费一级片| 欧美日韩国产探花| 黑人一区二区| 亚洲精品日产精品乱码不卡| 国产精品入口麻豆原神| 欧美大片在线看| 狠狠爱www人成狠狠爱综合网| 老司机亚洲精品| 中文一区在线| 亚洲国产精品久久人人爱蜜臀| 亚洲免费在线观看视频| 国产日韩精品一区二区浪潮av| 欧美国产精品中文字幕| 国产精品国产| 免费在线欧美视频| 野花国产精品入口| 99精品欧美| 国产精品美女久久久久av超清| 欧美午夜电影完整版| 99精品视频一区二区三区| 午夜老司机精品| 欧美激情二区三区| 欧美一级夜夜爽| 久久av老司机精品网站导航| 亚洲精品专区| 国产精品99久久久久久白浆小说| 欧美在线日韩精品| 欧美主播一区二区三区| 亚洲精品久久久久中文字幕欢迎你| 蜜桃精品一区二区三区| 亚洲欧洲av一区二区| 欧美三区在线| 新67194成人永久网站| 欧美精品1区2区3区| 亚洲国产成人在线播放| 欧美区高清在线| 欧美一二三视频| 久久久最新网址| 午夜精品999| 久久久久久免费| 欧美va天堂在线| 国产精品99久久久久久白浆小说| 国产精品扒开腿爽爽爽视频| 欧美伦理影院| 国产一区在线播放| 亚洲午夜在线视频| 狠狠入ady亚洲精品经典电影| 亚洲视频一区二区免费在线观看| 国产乱肥老妇国产一区二| 欧美高清影院| 国产精品美女久久| 1024成人网色www| 欧美亚洲一区二区三区| 麻豆精品91| 久久久久成人网| 欧美福利一区二区| 中文在线一区| 国产欧美精品日韩区二区麻豆天美| 欧美激情一区二区三区四区| 欧美日韩在线大尺度| 欧美成人蜜桃| 欧美不卡福利| 欧美一级大片在线免费观看| 黄色日韩在线| 亚洲午夜激情网页| 欧美在线高清视频| 国产婷婷成人久久av免费高清| 久久婷婷激情| 国产精品大片免费观看| 99re热这里只有精品视频| 欧美日韩中文字幕精品| 国产精品视频专区| 最近中文字幕mv在线一区二区三区四区| 亚洲淫片在线视频| 国外成人在线视频| 在线一区亚洲| 欧美日韩成人综合天天影院| 久久人人爽人人爽| 久久久一区二区| 久久亚洲一区二区| 麻豆精品一区二区综合av| 国产区亚洲区欧美区| 欧美寡妇偷汉性猛交| 欧美理论在线| 欧美jizz19hd性欧美| 欧美私人啪啪vps| 久久久一区二区| 欧美视频二区36p| 国产日韩欧美在线一区| 欧美区高清在线| 国产一区91精品张津瑜| 午夜激情综合网| 一区二区高清视频在线观看| 欧美激情综合色综合啪啪| 欧美一级视频免费在线观看| 亚洲永久免费av| 欧美噜噜久久久xxx| 免费在线成人| 欧美精品日韩一本| 亚洲激情在线观看视频免费| 欧美高清在线视频观看不卡| 久久精品国产综合精品|