1. Hibernate Validator 中文文档:

Hibernate官方文档-https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/

2. 自定义组序列分组校验

根据对象状态来重定义默认组序列,我在工作中遇到一个参数校验问题,比如需要根据一个参数值X来校验其他参数是否符合要求,要满足X的不同值都能达到校验效果,我实现了DefaultGroupSequenceProvider接口重定义了校验组序列

2.1 实现DefaultGroupSequenceProvider

public class DiyGroupSequencyProvider implements DefaultGroupSequenceProvider<ConfigParam> {@Overridepublic List<Class<?>> getValidationGroups(ConfigParam param) {List<Class<?>> defaultGroupSequency = new ArrayList<>();//这一步不能省略,否则会抛错defaultGroupSequency.add(ConfigParam.class);if (param!=null){if ("xxx".equals(param.getMedium())){defaultGroupSequency.add(ConfigParam.xxxGroup.class);}else{defaultGroupSequency.add(ConfigParam.ErrorGroup.class);}}return defaultGroupSequency;}
}

2.2 在参数类上添加注解@GroupSequenceProvider

@Data
@AllArgsConstructor
@NoArgsConstructor
@GroupSequenceProvider(value = DiyGroupSequencyProvider.class)
public class ConfigParam {private String medium;@NotBlank(message = "栏目/频道名称不可为空", groups = {xxxGroup.class})private String name;}

Hibernate-Validater自定义组序列分组校验相关推荐

  1. springboot中hibernate validator校验模式,分组校验,自定义校验

    检验模式 上面例子中一次性返回了所有验证不通过的集合,通常按顺序验证到第一个字段不符合验证要求时,就可以直接拒绝请求了.Hibernate Validator有以下两种验证模式: 普通模式(默认是这个 ...

  2. element form自定义校验_SpringBoot分组校验及自定义校验注解

    前言   在日常的开发中,参数校验是非常重要的一个环节,严格参数校验会减少很多出bug的概率,增加接口的安全性.在此之前写过一篇SpringBoot统一参数校验主要介绍了一些简单的校验方法.而这篇则是 ...

  3. hibernate-validate如何校验controller+service+分组校验+自定义注解实现校验规则等

    配置参数启动时校验 如果配置文件没有相关的配置,那么**启动时**就会出现以下异常: Description:Binding to target com.toby.provide.Applicatio ...

  4. Spring 使用 JSR303自定义校验注解+分组校验

    我们有这样一个需求,想要校验一个int类型的变量,校验它的值必须为我们所指定的值,且在修改状态分组时生效. @ListValue(vals = {0, 1}, groups = {UpdateStat ...

  5. AspectJ切面自定义注解实现参数分组校验——基础概念(2)

    AspectJ切面自定义注解实现参数分组校验--基础概念(2) 一.环境 二.创建AspectJ 2-1.基础概念 2-2.Pointcut规则表达式 2-3.切点标志符pointcut design ...

  6. validation 分组校验注解大全及使用详解

    JSR303(Bean的校验框架)的注解,在 controller 的方法中验证时(运行时校验属性)使用,如果不合法(校验失败),注解中的提示信息会保存在 result 中. JSR提供的校验注解: ...

  7. Bean Validation数据校验和分组校验

    前端校验后,为什么需要后端校验 在前面完成数据参数绑定到Controller时,我们可以在@RequestParam注解中做简单的空校验,就是设置required属性为true,以此来指定Contro ...

  8. SpringBoot 实现分组校验

    实现的需求是: 当enabled字段为true时,则校验某些字段,否则不校验 效果图 开启时校验 关闭时,不校验 实现步骤 引入依赖 <dependency><groupId> ...

  9. JSR303分组校验

    JSR303分组校验属于后端校验的一种很方便的方式 步骤: 1.新建两个接口,用来代表哪两个组,比如,AddGroup,UpdateGroup代表添加分组和修改分组 //添加分组 package co ...

最新文章

  1. 编程实现路由算法 实验报告_lt;中国通信专刊gt; EARS:用于软件定义网络中自动路由的智能驱动体验网络架构...
  2. iOS设计模式——MVC(Model-View-Controller)
  3. Linux实现后台运行程序及查看nohup jobs
  4. java中对象字节数_JAVA中求解对象所占字节大小
  5. 联想一体机电源键不亮_联想电脑一体机B505拆机经验
  6. 50个最有用的Matplotlib数据分析与可视化图
  7. NAR再版 | 人类长非编码RNA知识库LncRNAWiki 2.0
  8. hive随机查询若干条结果
  9. 小程序仿饿了么弹窗式购物车
  10. excel 平滑滚动_我的Excel书——Excel职场应用实战精粹
  11. 扩大人类对车辆的控制 新种双轨制自驾车出现
  12. 人工智能——前言概述
  13. varchar2(数值)和varchar2(数值 char)的说明
  14. AVC/HEVC/VVC/AV1 块划分、帧内预测过程及预测模式编码
  15. mysql80004005错误_常见的80004005错误及其解决方法
  16. Android 真机连接本地PC服务器
  17. 项目管理之JIRA安装部署
  18. 【电脑使用】如何将电脑磁盘变为移动磁盘?
  19. IT项目管理:讨论 projects、programs、和 portfolio 之间的关系
  20. java开发:mysql

热门文章

  1. Python“ for”循环(定迭代)
  2. 第三方登录的套路,你get到了吗?
  3. 出租车轨迹地图匹配实例
  4. java 从一列对象中取其中某一列字段
  5. 【vue】打字机插件vue3Typed
  6. Android——认识Android (Android发展简介)(一)
  7. 物联网产业链全景图及8大环节超详解读
  8. 波士顿动力又有黑科技:两足轮式机器人这样搬箱子
  9. 百年金街,步行天堂——王府井步行街区诞生记
  10. 代码覆盖率以及jacoco统计代码覆盖率的原理