Hibernate-Validater自定义组序列分组校验
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自定义组序列分组校验相关推荐
- springboot中hibernate validator校验模式,分组校验,自定义校验
检验模式 上面例子中一次性返回了所有验证不通过的集合,通常按顺序验证到第一个字段不符合验证要求时,就可以直接拒绝请求了.Hibernate Validator有以下两种验证模式: 普通模式(默认是这个 ...
- element form自定义校验_SpringBoot分组校验及自定义校验注解
前言 在日常的开发中,参数校验是非常重要的一个环节,严格参数校验会减少很多出bug的概率,增加接口的安全性.在此之前写过一篇SpringBoot统一参数校验主要介绍了一些简单的校验方法.而这篇则是 ...
- hibernate-validate如何校验controller+service+分组校验+自定义注解实现校验规则等
配置参数启动时校验 如果配置文件没有相关的配置,那么**启动时**就会出现以下异常: Description:Binding to target com.toby.provide.Applicatio ...
- Spring 使用 JSR303自定义校验注解+分组校验
我们有这样一个需求,想要校验一个int类型的变量,校验它的值必须为我们所指定的值,且在修改状态分组时生效. @ListValue(vals = {0, 1}, groups = {UpdateStat ...
- AspectJ切面自定义注解实现参数分组校验——基础概念(2)
AspectJ切面自定义注解实现参数分组校验--基础概念(2) 一.环境 二.创建AspectJ 2-1.基础概念 2-2.Pointcut规则表达式 2-3.切点标志符pointcut design ...
- validation 分组校验注解大全及使用详解
JSR303(Bean的校验框架)的注解,在 controller 的方法中验证时(运行时校验属性)使用,如果不合法(校验失败),注解中的提示信息会保存在 result 中. JSR提供的校验注解: ...
- Bean Validation数据校验和分组校验
前端校验后,为什么需要后端校验 在前面完成数据参数绑定到Controller时,我们可以在@RequestParam注解中做简单的空校验,就是设置required属性为true,以此来指定Contro ...
- SpringBoot 实现分组校验
实现的需求是: 当enabled字段为true时,则校验某些字段,否则不校验 效果图 开启时校验 关闭时,不校验 实现步骤 引入依赖 <dependency><groupId> ...
- JSR303分组校验
JSR303分组校验属于后端校验的一种很方便的方式 步骤: 1.新建两个接口,用来代表哪两个组,比如,AddGroup,UpdateGroup代表添加分组和修改分组 //添加分组 package co ...
最新文章
- 清华天才王垠受邀面试阿里P9,被阿里P10赵海平面跪,整个事件回顾...
- Python入门100题 | 第062题
- 【Boost】boost库中function的用法
- axture动画原型制作_Axure制作原型-基础操作
- 子网掩码与子网个数、主机地址个数的关系
- TensorFlow实现卷积、池化操作
- T-SQL远程数据库备份还原
- node html响应头,nodejs 中http请求头,响应头
- Django 创建model的一些注意事项
- Python3安装Crypto模块
- Android各种动画效果
- 多路复用之epoll模型
- java JSPX的介绍(转载)
- 01—C语言基本语句
- linux学习知识体系
- Source Insight——C/C++代码阅读器
- ssr服务器网站,ssr(服务端渲染)
- 该网页无法访问未连接上服务器是什么意思,浏览器打不开该网页,因为无法连接到服务器...
- 为什么抖音账号作品很少粉丝却很多,抖音删除的粉丝还能看到吗
- 【DFT】可测性设计(一)扫描测试
热门文章
- 默默无闻之随机练习题
- Spring Security+OAuth2认证服务之令牌管理源码分析
- 变聪明的方法就是学习,每个人最终都会与生活和解,连村西透仿佛也捡回了昔日的勇气。
- 浅谈Win10装机磁盘格式问题:windows无法安装到这个磁盘 选中的磁盘采用GPT分区形式
- 中国石油大学远程教育《日常礼仪系列(二)》
- 超低成本蓝牙芯片MS1656智慧教室应用案例参考
- [Error] initializer-string for array of chars is too long [-fpermissive]
- 无人驾驶虚拟仿真(二)--ROS系统安装
- iOS 开发者账号添加新的管理成员用于上传APP
- 使用Vue实现文本自动完成(快捷回复)