电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Java Validation Api如何實現自定義注解

瀏覽:7日期:2022-08-25 13:28:10

背景

官方提供的注解多數可以解決現實業務場景中基本業務校驗,但有些特殊場景因業務的復雜性,也還是需要在入口處對入參進行各種角度的校驗,以求簡化業務層的處理,降低業務處理復雜性與方法入口的強約束性。 以上背景,下面就舉個簡單Demo進行自定義注解校驗的實現。

注解定義類

import javax.validation.Constraint;import javax.validation.Payload;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * @author wpp * @date 2020/8/22 14:30 */@Target({ElementType.FIELD, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Constraint(validatedBy = PhoneCustomizeValidator.class)public @interface CustomizeValidator { String message() default '不是國內手機號'; Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {};}

注解方法處理類

import cn.hutool.core.util.StrUtil;import javax.validation.ConstraintValidator;import javax.validation.ConstraintValidatorContext;import java.util.regex.Pattern;/** * @author wpp * @date 2020/8/22 14:33 */public class PhoneCustomizeValidator implements ConstraintValidator<CustomizeValidator, String> { private String phoneRegex = '^(16[0-9]|19[0-9]|13[0-9]|15[012356789]|17[0-9]|18[0-9]|14[0-9])[0-9]{8}$'; private Pattern phonePattern = Pattern.compile(phoneRegex); @Override public void initialize(CustomizeValidator constraintAnnotation) { } @Override public boolean isValid(String value, ConstraintValidatorContext context) { if (StrUtil.isBlank(value)) { return Boolean.FALSE; } return phonePattern.matcher(value).matches(); }}

使用方式

import io.swagger.annotations.ApiModelProperty;import lombok.Builder;import lombok.Data;import org.hibernate.validator.constraints.Length;/** * @author wpp * @date 2020/8/22 14:49 */@Data@Builderpublic class CustomizeDTO { @ApiModelProperty(name = 'phone', value = '手機號碼') @Length(max = 13) private String phone;}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | 电磁辐射仪-电磁辐射检测仪-pm2.5检测仪-多功能射线检测仪-上海何亦仪器仪表有限公司 | 成都珞石机械 - 模温机、油温机、油加热器生产厂家 | 贴片电容-贴片电阻-二三极管-国巨|三星|风华贴片电容代理商-深圳伟哲电子 | 宏源科技-房地产售楼系统|线上开盘系统|售楼管理系统|线上开盘软件 | 设计圈 - 让设计更有价值!| 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 滤芯,过滤器,滤油机,贺德克滤芯,精密滤芯_新乡市宇清流体净化技术有限公司 | 铝合金脚手架厂家-专注高空作业平台-深圳腾达安全科技 | 天坛家具官网| 万濠投影仪_瑞士TRIMOS高度仪_尼康投影仪V12BDC|量子仪器 | 水热合成反应釜-防爆高压消解罐-西安常仪仪器设备有限公司 | 不锈钢/气体/液体玻璃转子流量计(防腐,选型,规格)-常州天晟热工仪表有限公司【官网】 | 阿尔法-MDR2000无转子硫化仪-STM566 SATRA拉力试验机-青岛阿尔法仪器有限公司 | 智慧农业|农业物联网|现代农业物联网-托普云农物联网官方网站 | 耐磨焊丝,堆焊焊丝,耐磨药芯焊丝,碳化钨焊丝-北京耐默公司 | 儿童语言障碍训练-武汉优佳加感统文化发展有限公司 | 粒米特测控技术(上海)有限公司-测功机_减速机测试台_电机测试台 | 威实软件_软件定制开发_OA_OA办公系统_OA系统_办公自动化软件 | 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 上海小程序开发-小程序制作-上海小程序定制开发公司-微信商城小程序-上海咏熠 | 玄米影院| 广州物流公司_广州货运公司_广州回程车运输 - 万信物流 | 浙江上沪阀门有限公司| 北京模型公司-军事模型-工业模型制作-北京百艺模型沙盘公司 | 德国BOSCH电磁阀-德国HERION电磁阀-JOUCOMATIC电磁阀|乾拓百科 | 四川成都干燥设备_回转筒干燥机_脉冲除尘器_输送设备_热风炉_成都川工星科机电设备有限公司 | 开云(中国)Kaiyun·官方网站-登录入口| 承插管件_不锈钢承插管件_锻钢高压管件-温州科正阀门管件有限公司 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | 高温热泵烘干机,高温烘干热泵,热水设备机组_正旭热泵 | 网站建设,北京网站建设,北京网站建设公司,网站系统开发,北京网站制作公司,响应式网站,做网站公司,海淀做网站,朝阳做网站,昌平做网站,建站公司 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 工业雾炮机_超细雾炮_远程抑尘射雾器-世纪润德环保设备 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | Maneurop/美优乐压缩机,活塞压缩机,型号规格,技术参数,尺寸图片,价格经销商 | 锤式粉碎机,医药粉碎机,锥式粉碎机-无锡市迪麦森机械制造有限公司 | 内六角扳手「厂家」-温州市威豪五金工具有限公司 | 暖气片十大品牌厂家_铜铝复合暖气片厂家_暖气片什么牌子好_欣鑫达散热器 | 汽车整车综合环境舱_军标砂尘_盐雾试验室试验箱-无锡苏南试验设备有限公司 | 灌装封尾机_胶水灌装机_软管灌装封尾机_无锡和博自动化机械制造有限公司 |