使用@Validated注解进行校验却没有效果的解决
更新时间:2024年04月01日 08:36:00 作者:水巷石子
这篇文章主要介绍了使用@Validated注解进行校验却没有效果的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud)
(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun)
场景描述
Controller层方法参数中添加了@Validated注解
对应参数的字段添加验证规则
问题描述
在页面添加属性分组时,分组ID字段的正则验证不起效果,依然可以保存中文、特殊字符等
问题定位
回看上面的代码,可以发现。
@Validated引用了分组
而对应的参数groupId并没有被分配的该组中。
解决办法
将groupId参数分配到@Validated验证组Insert.class中。
结果验证
知识点总结
@Validated校验与groups分组的关系
@Validated注解校验可以添加对应分组的参数,这样可以只取参数中对应分组的字段进行验证。
如上面的代码@Validated(Insert.class)注解参数是Insert.class分组
所以只会取参数中Insert.class分组的字段进行验证
反之,如果是@Validated(Updated.class),那么就只会取被分组到Updated.class组的字段进行验证。
当然我这里两个组中的字段都是一样的,哈哈。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持程序员之家。
相关文章
Java接收前端请求体的多种方式总结
这篇文章主要给大家介绍了关于Java接收前端请求体的多种方式,文中通过代码介绍的非常详细,对大家学习或者Java具有一定的参考学习价值,需要的朋友可以参考下
2023-08-08
Docker搭建前端Java的开发环境详解
相信每个人入职第一天就是搭建本地开发环境,因为我司用的是java,看见了多年不见的eclipse的图标出现我的电脑上,我是难过的。后来知道并不是我一个人有此感受。这篇文章是为了解决前后端开发没有彻底分离的坑,详细的给大家介绍了利用Docker搭建前端Java的开发环境。
2016-10-10
SpringBoot中的@PreAuthorize注解详解
这篇文章主要介绍了SpringBoot中的@PreAuthorize注解详解,@PreAuthorize注解会在方法执行前进行权限验证,支持Spring?EL表达式,它是基于方法注解的权限解决方案,需要的朋友可以参考下
2023-09-09
SpringBoot读取配置的6种方式
本文主要介绍了SpringBoot读取配置的6种方式,主要包括使用默认配置、使用application.properties文件、使用application.yml文件、使用@Value注解、使用Environment对象和使用ConfigurableEnvironment对象,感兴趣的可以了解一下
2023-08-08
java并发编程中实现可见性的四种可行方案解析
这篇文章主要介绍了java并发编程中实现可见性的四种可行方案解析,使用关键字volatile和使用锁(如synchronized关键字或者java.util.concurrent包中的锁)来确保对共享变量的修改在多线程环境中能够正确地被其他线程所观察到,需要的朋友可以参考下
2023-08-08
mybatis根据表逆向自动化生成代码的实现
若采用mybatis框架,数据库新建表,手动编写的话,需要编写大量的实体类、mapper文件、mapper.xml文件,都是一些重复且有规律的工作。我们可以引用插件,然后做配置,自动生成这些文件,本文就来详细的介绍一下
2021-08-08
Springboot中依赖注入的三种方式详解
这篇文章主要介绍了Springboot中依赖注入的三种方式详解,Setter Injection需要依赖@Autowired注解,使用方式与Field Injection有所不同,Field Injection时@Autowired是用在成员变量上,需要的朋友可以参考下
2023-09-09
最新评论