日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

java自定義注解驗(yàn)證手機(jī)格式的實(shí)現(xiàn)示例

瀏覽:150日期:2022-08-15 15:40:54
1、@Valid與@Validated的區(qū)別1.1 基本區(qū)別

@Valid:Hibernate validation校驗(yàn)機(jī)制

@Validated:Spring Validator校驗(yàn)機(jī)制,這個(gè)也是最常用的

@Validation只是對(duì)@Valid進(jìn)行了二次封裝,在使用上并沒有太大區(qū)別,但在分組、注解位置、嵌套驗(yàn)證等功能上有所不同

1.2 作用范圍

@Validated:用在類型、方法和方法參數(shù)上。但不能用于成員屬性(field)@Valid:可以用在方法、構(gòu)造函數(shù)、方法參數(shù)和成員屬性(field)上

1.3 分組校驗(yàn)

@Validated:提供分組功能,可以在參數(shù)驗(yàn)證時(shí),根據(jù)不同的分組采用不同的驗(yàn)證機(jī)制,注解中必須提供groups屬性,該屬性就是做分組的必要參數(shù)@Valid:沒有分組功能

2、未使用分組校驗(yàn)的示例

注解:

/** * 手機(jī)號(hào)驗(yàn)證正則 */@Target({ElementType.FIELD,ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documented@Constraint(validatedBy = {PhoneValidator.class})// 指定約束處理器,也就是手機(jī)號(hào)格式驗(yàn)證是哪個(gè)類來做校驗(yàn)public @interface Phone { String pattern() default '^(?:(?:+|00)86)?1d{10}$'; String message() default '手機(jī)號(hào)格式非法'; Class<?>[] groups() default { }; // groups用來指定分組,可以讓校驗(yàn)采取不同的機(jī)制,當(dāng)前默認(rèn)未指定任何分組機(jī)制,默認(rèn)每次都要進(jìn)行校驗(yàn) Class<? extends Payload>[] payload() default { }; // 默認(rèn)分組 interface Default{ } // 分組A interface A{ }}

格式校驗(yàn)處理器:

/** * 校驗(yàn)處理器:做手機(jī)號(hào)碼格式驗(yàn)證的核心類 */public class PhoneValidator implements ConstraintValidator<Phone, String> { // 注解對(duì)象 private Phone phone; // 初始化【Phone】對(duì)象 @Override public void initialize(Phone constraintAnnotation) { phone = constraintAnnotation; } @Override public boolean isValid(String value, ConstraintValidatorContext context) { // 獲取【Phone】對(duì)象的手機(jī)格式驗(yàn)證表達(dá)式 String pattern = phone.pattern(); Pattern compile = Pattern.compile(pattern); Matcher matcher = compile.matcher(value); return matcher.matches(); }

作用類:

@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)public class Person implements Serializable { @Phone private String phone;}

注意:只有在spring或者springboot項(xiàng)目中才能使用,直接調(diào)用方法不會(huì)有任何效果,使用注解進(jìn)行對(duì)象的屬性格式校驗(yàn)時(shí),必須配合@Validated一起使用(不一起使用,格式校驗(yàn)注解將會(huì)無效),正確操作如下:

@RestController@RequestMapping('/admin/')public class PersonController { @Autowired private PersonService personService; @PostMapping('/query') public Person query(@RequestBody @Validated Person params) { return JsonResult.success(personService.queryByPhone(params)); }}

以上示例未使用分組功能,因此每次都會(huì)校驗(yàn)。

3、分組校驗(yàn)的示例

使用分組校驗(yàn)示示例時(shí),先要看看@Validated注解,因?yàn)榉纸M校驗(yàn)就是配合該注解一起使用的,通過閱讀注釋就能理解到value屬性就是用來指定分組的:

@Target({ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Validated { /** * Specify one or more validation groups to apply to the validation step * kicked off by this annotation. * <p>JSR-303 defines validation groups as custom annotations which an application declares * for the sole purpose of using them as type-safe group arguments, as implemented in * {@link org.springframework.validation.beanvalidation.SpringValidatorAdapter}. * <p>Other {@link org.springframework.validation.SmartValidator} implementations may * support class arguments in other ways as well. */ Class<?>[] value() default {};}

因此我們需要改動(dòng)的位置有兩處:

首先是注解的作用類,注解上指定groups屬性 其次是controller中的請(qǐng)求的形參:在請(qǐng)求中形參的@Validated指定value值,也就是指定校驗(yàn)生效的分組,如果請(qǐng)求中的分組類型【@Validated的value值】和作用類中注解所指定的分組【@Phone中的groups屬性的值】一致時(shí),才會(huì)進(jìn)行校驗(yàn),否則不會(huì)執(zhí)行校驗(yàn)

作用類:

@Data@EqualsAndHashCode(callSuper = false)@Accessors(chain = true)public class Person implements Serializable { // 指定groups屬性 @Phone(groups = {Phone.A.class}) private String phone;}

controller層:

@RestController@RequestMapping('/admin/')public class PersonController { @Autowired private PersonService personService; @PostMapping('/query') public Person query(@RequestBody @Validated(Phone.A.class) Person params) { return JsonResult.success(personService.queryByPhone(params)); }}

此時(shí)請(qǐng)求中的校驗(yàn)分組Phone.A.class和作用類中的校驗(yàn)分組Phone.A.class一致,所以校驗(yàn)會(huì)被執(zhí)行

到此這篇關(guān)于java自定義注解驗(yàn)證手機(jī)格式的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)java自定義注解驗(yàn)證手機(jī)格式內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久高清国产| 国产综合欧美| 色天使综合视频| 精品一区av| 国产麻豆一区二区三区精品视频| 婷婷五月色综合香五月| 免费精品视频最新在线| 亚洲欧美激情诱惑| 蜜桃免费网站一区二区三区| 视频一区二区三区在线| 蜜桃久久久久久| 亚洲网址在线观看| 亚洲精品黄色| 日韩高清欧美激情| 国产精品蜜月aⅴ在线| 国产精品日韩精品在线播放 | 国产成人a视频高清在线观看| 久久中文字幕导航| 狠狠久久伊人| 伊伊综合在线| 欧美成人精品| 免费日韩av片| 五月亚洲婷婷 | 日韩在线网址| 日韩国产在线观看| 国产日产精品_国产精品毛片 | 一区二区三区国产盗摄| 在线免费观看亚洲| 日韩精品一区二区三区免费视频 | 久久福利精品| 91精品丝袜国产高跟在线| 美女久久99| 日本在线精品| 中文不卡在线| 美女精品一区二区| 国产99久久| 亚洲精品欧美| 国产成人精品三级高清久久91| 国产一区亚洲| 日韩影院免费视频| 国产精品乱战久久久| 天堂中文av在线资源库| 国产一级久久| 国产精品一区二区美女视频免费看| 免费在线亚洲欧美| 激情欧美一区二区三区| 日韩精品欧美大片| 日韩精品91| 日韩专区欧美专区| 美女毛片一区二区三区四区最新中文字幕亚洲| 日韩不卡一区| 免费人成黄页网站在线一区二区| 国产精品久久久久久久久免费高清 | 成人午夜精品| 中文字幕av亚洲精品一部二部| 欧美a级一区二区| 欧美精品羞羞答答| 国产伦理久久久久久妇女| 久久蜜桃av| 久久国产麻豆精品| 黑丝美女一区二区| 欧美在线日韩| 性欧美69xoxoxoxo| 国产精品1区| 日韩午夜av在线| 精品三区视频| 综合国产视频| 97精品国产福利一区二区三区| 日韩专区在线视频| av资源亚洲| 91嫩草精品| 激情自拍一区| 精品一区二区三区四区五区| 免播放器亚洲| 日韩欧美一区二区三区免费看| 亚洲午夜免费| 久久影院午夜精品| 国产区精品区| 亚洲一区网站| 欧美精品资源| 麻豆91小视频| 五月激激激综合网色播| 久久久噜噜噜| 国产精品欧美日韩一区| 国产精品美女久久久| 国产h片在线观看| 欧美日韩一视频区二区| 亚洲精品网址| 日韩欧美一区二区三区免费观看| 欧美综合精品| 蜜桃久久av一区| 亚洲午夜av| 在线天堂资源www在线污| 国产精品资源| 日韩精品免费观看视频| 婷婷综合激情| 高清在线一区| 欧美亚洲人成在线| 中文字幕一区二区三区四区久久| 另类中文字幕国产精品| 免费在线成人| 91麻豆精品| 日韩一区二区三区精品视频第3页| 欧美大黑bbbbbbbbb在线| 欧美香蕉视频| 日韩不卡一区| 麻豆视频久久| 国产欧美视频在线| 日韩高清不卡一区二区| 亚洲色图综合| 美国欧美日韩国产在线播放| 99国产精品私拍| 久久久久久久久99精品大| 成人日韩av| 日韩av有码| 国产在线观看www| 国内一区二区三区| 卡一精品卡二卡三网站乱码| 国产区精品区| 国产精品一区二区三区av| 国产丝袜一区| 欧美精品1区| 麻豆精品久久久| 精品99久久| 98精品视频| 亚洲成人av观看| 国产综合视频| 久久精品av| 女同性一区二区三区人了人一| re久久精品视频| 亚洲欧美网站| 日韩精品欧美成人高清一区二区| 91欧美极品| 国产福利一区二区三区在线播放| 国产精品日韩精品中文字幕| 久久亚州av| 中文在线а√天堂 | 国产欧美一级| 欧美黑人做爰爽爽爽| 精品久久网站| 日韩免费福利视频| 日本少妇一区| 悠悠资源网久久精品| 免费在线观看视频一区| 亚洲人妖在线| 91成人在线网站| 精品一区电影| 日韩精品一区二区三区免费观影| 欧美aa在线观看| 亚洲国产综合在线看不卡| 一区二区自拍| 日本国产欧美| 国产一区二区三区四区| 精品欧美一区二区三区在线观看| 亚洲第一区色| 热久久国产精品| 亚久久调教视频| 麻豆久久一区| 成人精品亚洲| 另类av一区二区| 国产精品一区二区精品| 都市激情国产精品| 欧美特黄a级高清免费大片a级| 亚洲免费福利一区| 国产精品高潮呻吟久久久久| 久久久久久久欧美精品| 中文字幕在线看片| 亚洲一区免费| 国产欧美午夜| 亚洲a在线视频| 丝袜美腿亚洲一区二区图片| 91精品视频一区二区| 成人福利视频| 久热re这里精品视频在线6| 国产探花在线精品一区二区| 日韩精品dvd| 亚洲18在线| 成人在线免费观看网站| 另类av一区二区| 老司机精品视频网| 欧美日韩国产综合网| 日韩欧美美女在线观看| 精品国产亚洲一区二区在线观看| 合欧美一区二区三区| 国产精区一区二区| 国产中文一区| 国产欧美日韩视频在线| 日韩高清不卡| 国产日韩欧美三级| 午夜国产欧美理论在线播放| 欧美黑人做爰爽爽爽| 欧美日韩精品一本二本三本| 国产精品对白久久久久粗| 亚洲国产成人精品女人| 国产精品久久久久久久久久齐齐 | 日本色综合中文字幕| 伊人网在线播放| 日韩动漫一区| 欧美色图一区| 美女视频一区在线观看|