首页 > 其他分享 >springMVC自定义校验注解

springMVC自定义校验注解

时间:2023-10-02 19:24:30浏览次数:41  
标签:10 java 14 自定义 springMVC 校验 phoneNo public PhoneNo

 

1.定义注解校验器

PhoneNoValidator.java
 1 /**
 2  * @Author hxy
 3  * @Description
 4  * @Date 2023/9/14 10:48
 5  * @Version 1.0
 6  */
 7 public class PhoneNoValidator implements ConstraintValidator<PhoneNo, String> {
 8     @Override
 9     public void initialize(PhoneNo constraintAnnotation) {
10     }
11 
12     @Override
13     public boolean isValid(String phoneNo, ConstraintValidatorContext context) {
14         if (phoneNo == null || phoneNo.isEmpty()){
15             return false;
16         }
17 
18         if (phoneNo.matches("((\\+86)|(86))?1[3|4|5|8]\\d{9}")){
19             return true;
20         }
21         return false;
22     }
23 }

2.定义校验注解

PhoneNo.
interface
 1 import static  java.lang.annotation.ElementType.*;
 2 import static  java.lang.annotation.ElementType.PARAMETER;
 3 import static  java.lang.annotation.RetentionPolicy.RUNTIME;
 4 /**
 5  * @Author hxy
 6  * @Description
 7  * @Date 2023/9/14 10:49
 8  * @Version 1.0
 9  */
10 @Target({METHOD, FIELD,ANNOTATION_TYPE,CONSTRUCTOR,PARAMETER})
11 @Retention(RUNTIME)
12 @Documented
13 @Constraint(validatedBy =  {PhoneNoValidator.class})
14 public @interface PhoneNo {
15     //错误提示信息
16     String message() default "手机号码格式错误";
17 
18     //分组
19     Class<?>[] groups() default {};
20     //负载
21     Class<? extends Payload>[] payload() default {};
22     //指定多个时使用
23     @Target({METHOD, FIELD,ANNOTATION_TYPE,CONSTRUCTOR,PARAMETER})
24     @Retention(RUNTIME)
25     @Documented
26     @interface list{
27         PhoneNo[] value();
28     }
29 }

 

标签:10,java,14,自定义,springMVC,校验,phoneNo,public,PhoneNo
From: https://www.cnblogs.com/hxysg/p/17740337.html

相关文章

  • springMVC类型转换器
    Spring引入通用的数据类型转换系统,其定义了sPI接口和相应的运行时热行类型转换的API,提供无状态,强类型可以在任意类型之间进行类型转换,可以用于任向需要的地方(如SpEL、数据绑定等) 1.配置自定义类型转换服务 2.日期类型转换器 ......
  • springMVC数据校验
    应用程序在执行业务逻辑前,必须通过数据校验保证接收的输入数据时正确合法的。1.JRS303  2.@Valid校验注解(获取校验结果)DepositDto.java1@Data2@AllArgsConstructor3@NoArgsConstructor4publicclassDepositDto{5@NotEmpty(message="账号不能为......
  • 自定义数据类型和数据类型别名
    自定义数据类型和数据类型别名代码//example.gopackagetestimport"fmt"funcTestFunction(){ fmt.Println("自定义类型") //自定义类型mesType,它是uint16的别名 //注意:虽然mesType是uint16的别名,但是二者仍是不同类型,不能够 //相互赋值和比较,需要进行类型转换 //......
  • 44、Flink之module模块介绍及使用示例和Flink SQL使用hive内置函数及自定义函数详细示
    文章目录Flink系列文章一、模块Modules1、模块介绍2、模块类别ModuleTypes1)、CoreModule2)、HiveModule3)、User-DefinedModule3、模块生命周期和解析顺序ModuleLifecycleandResolutionOrder4、模块Modules的使用1)、SQL方式2)、编码方式-java二、HiveFunctions内置函数和自定......
  • SpringMVC
    什么是MVC模式?在了解SpringMVC的工作原理之前,我们先来复习一下什么是MVC的设计模式。方便后面更能理解工作原理的架构。MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码。......
  • springMVC简介
    什么事springMVCSpringMVc是Spring框架的Web组件,它是一种基于Java实现的WebMVC的轻量级Web框架2.springMVC主要工作流程 3.DispatcherServlet(前端控制器)相当于总指挥的角色,负责接受请求,请求转发给页面控制器。DispatcherServlet(前端控制器)是SpringMVC的灵魂和心脏,它负......
  • springMVC参数传递方式
    1.springMVC参数传递方式1.2动态参数绑定  2.代码1packagecom.cn.param;23importcom.sun.org.apache.xpath.internal.operations.Mod;4importorg.springframework.stereotype.Controller;5importorg.springframework.ui.ModelMap;6importor......
  • 自定义负载均衡策略
    通过定义IRule实现可以修改负载均衡规则,有两种方式:代码方式:在order-service中的OrderApplication类中,定义一个新的IRule:@BeanpublicIRulerandomRule(){  returnnewRandomRule();} 配置文件方式:在order-service的application.yml文件中,添加新的配置也可以修改规......
  • VCS代码保护+SOC中的复位电路+verdi生成部分原理图+verdi查看delta cycle+自定义的原
    VCS代码保护在新思公司的一些vip的实现中,一些代码进行了加密,导致无法查看源码,加密的方法也是使用新思的工具VCS。在编译的命令行添加+protect选项,在代码前后加上编译指示,则生成对应的加密vp、svp文件,中间的部分被加密。https://blog.csdn.net/woodhorse007/article/details/524......
  • springboot web开发springmvc自动配置原理
    前言我们也知道springboot启用springmvc基本不用做什么配置可以很方便就使用了但是不了解原理,开发过程中遇到点问题估计就比较头疼,不管了解的深不深入,先巴拉一番再说…下面我们先看看官网…我的版本是2.3.2版本,发现官网改动也比较大…不同版本自己巴拉下吧,结构虽然变化了,但......