spring boot 自定义校验注解
来源:互联网 发布:h3c s5000 端口聚合 编辑:程序博客网 时间:2024/06/10 09:32
创建注解
import cn.wyj.validation.SpecificIntegerConstraintValidator;import javax.validation.Constraint;import javax.validation.Payload;import java.lang.annotation.Documented;import java.lang.annotation.Retention;import java.lang.annotation.Target;import static java.lang.annotation.ElementType.FIELD;import static java.lang.annotation.ElementType.METHOD;import static java.lang.annotation.RetentionPolicy.RUNTIME;@Target({METHOD, FIELD})@Retention(RUNTIME)@Documented// 指定注解的处理类@Constraint(validatedBy = {SpecificIntegerConstraintValidator.class})public @interface SpecificInteger { int[] numbers(); String message() default "Match failed"; Class<?>[] groups() default {}; Class<? extends Payload>[] payload() default {};}
创建处理类
import cn.wyj.validation.constraints.SpecificInteger;import javax.validation.ConstraintValidator;import javax.validation.ConstraintValidatorContext;public class SpecificIntegerConstraintValidator implements ConstraintValidator<SpecificInteger, Integer> { private int[] numbers; private String msg; @Override public void initialize(SpecificInteger constraintAnnotation) { this.numbers = constraintAnnotation.numbers(); this.msg = constraintAnnotation.message(); } @Override public boolean isValid(Integer value, ConstraintValidatorContext context) { if (value == null) { return true; } boolean flag = false; for (int i = 0; i < numbers.length; i++) { if (value == numbers[i]) { flag = true; break; } } if (flag) { return true; } // 构建错误消息 context.disableDefaultConstraintViolation(); ConstraintValidatorContext.ConstraintViolationBuilder builder = context.buildConstraintViolationWithTemplate(msg); builder.addConstraintViolation(); return false; }}
阅读全文
0 0
- spring boot 自定义校验注解
- Spring boot 注解校验
- Spring Boot 自定义注解
- spring boot注解实现参数校验
- spring boot 自定义注解实现权限验证
- spring boot 自定义请求参数解析注解
- 自定义校验型注解
- 自定义注解校验
- 自定义注解校验器
- 利用Spring AOP自定义注解解决日志和签名校验
- 利用Spring AOP自定义注解解决日志和签名校验
- Spring中使用自定义的注解校验器的实现
- Spring AOP自定义注解解决日志和签名校验
- 利用Spring AOP自定义注解解决日志和签名校验
- Spring Boot Validator校验
- Spring Boot校验
- spring boot validator校验
- Spring注解校验
- C++中值传递和引用传递的区别
- Byte[]转Image
- ARP数据包格式
- Bugly热更新最详细的使用教程
- 要不要止损,就看你怎么分析
- spring boot 自定义校验注解
- jQuery笔记总结
- 前端工具插件下载地址
- 第十四周项目一-哈希表及其运算的实现
- STL学习之set与multiset操作练习
- linux查看时间
- PopupWindow标题栏不能遮罩的解决办法
- CentOS安装Eclipse 和As
- python如何调用C, 如何注册成C的回调函数(python后台程序常用方法)