使用@Validated注解进行校验却没有效果的解决,
分享于 点击 31490 次 点评:45
使用@Validated注解进行校验却没有效果的解决,
目录
- 场景描述
- 问题描述
- 问题定位
- 解决办法
- 结果验证
- 知识点总结
- 总结
场景描述
Controller层方法参数中添加了@Validated注解
对应参数的字段添加验证规则
问题描述
在页面添加属性分组时,分组ID字段的正则验证不起效果,依然可以保存中文、特殊字符等
问题定位
回看上面的代码,可以发现。
@Validated引用了分组
而对应的参数groupId并没有被分配的该组中。
解决办法
将groupId参数分配到@Validated验证组Insert.class中。
结果验证
知识点总结
@Validated校验与groups分组的关系
@Validated注解校验可以添加对应分组的参数,这样可以只取参数中对应分组的字段进行验证。
如上面的代码@Validated(Insert.class)注解参数是Insert.class分组
所以只会取参数中Insert.class分组的字段进行验证
反之,如果是@Validated(Updated.class),那么就只会取被分组到Updated.class组的字段进行验证。
当然我这里两个组中的字段都是一样的,哈哈。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持3672js教程。
您可能感兴趣的文章:- Spring利用@Validated注解实现参数校验详解
- Java中的三种校验注解的使用(@Valid,@Validated和@PathVariable)
- 使用注解@Validated和BindingResult对入参进行非空校验方式
- 快速校验实体类时,@Valid,@Validated,@NotNull注解无效的解决
- SpringBoot @Validated注解实现参数分组校验的方法实例
- spring @Validated 注解开发中使用group分组校验的实现
用户点评