当前位置: 首页 > news >正文

springboot3+vue3融合项目实战-大事件文章管理系统-自定义校验

在这里插入图片描述

新建state注解

package com.itheima.anno;import com.itheima.validation.StateValidation;
import jakarta.validation.Constraint;
import jakarta.validation.Payload;import java.lang.annotation.*;@Documented//元注解
@Constraint(validatedBy = {StateValidation.class}//指定提供校验规则的类
)
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER, ElementType.TYPE_USE})//元注解
@Retention(RetentionPolicy.RUNTIME)//元注解public @interface State {//提供校验失败后的提示信息String message() default "state参数的值只能是已发布或者草稿";//配置分组Class<?>[] groups() default {};//负载 获取到state注解的附加信息Class<? extends Payload>[] payload() default {};
}

新建statevalidatation类

package com.itheima.validation;import com.itheima.anno.State;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;public class StateValidation implements ConstraintValidator<State,String> {/**** @param s 将来要校验的数据* @param constraintValidatorContext* @return 如果返回false,校验不通过*/@Overridepublic boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) {//提供校验规则if (s == null){return false;}if ("已发布".equals(s) || "草稿".equals(s)){return true;}return false;}
}

最后在article里面的state属性上面添加@state注解就好了

相关文章:

  • 预警功能深度测评:如何用系统降低设备突发故障率?
  • 基于 STM32 的 PC ARGB 风扇控制器设计与实现
  • 工作安排小K
  • Elasticsearch生产环境性能调优指南
  • Unity中GPU Instancing使用整理
  • 全方位详解微服务架构中的Service Mesh(服务网格)
  • 互联网大厂Java求职面试:Spring Cloud微服务架构与AI集成挑战
  • 如何在 Android 手机和平板电脑上下载应用程序
  • ATT Global赞助非小号全球行,引领RWA创新浪潮
  • springboot 1.x2.x依赖spring版本
  • MySQL 5.7 实战:JSON 字段提取、Base64 解码与引号问题全解析
  • 无人机电子防抖技术要点概述!
  • 20个关于Java编程语言的常见问题
  • Redis SETNX:分布式锁与原子性操作的核心
  • SPL做量化---PSY(心理线)
  • 【人工智能基础知识】
  • Mysql索引实战1
  • 2025年二级等保实施全攻略:传统架构与云等保方案深度解析
  • 系统设计应优先考虑数据流还是控制流?为什么优先考虑数据流?数据流为主、控制流为辅的架构原则是什么?控制流优先会导致哪些问题?
  • C++ 11(1):
  • 个人做网站接装修活哪个网站好/长春网络优化哪个公司在做