场景描述:

Controller层方法参数中添加了@Validated注解

image-20220322092427474

对应参数的字段添加验证规则

image-20220322092711196

问题描述:

在页面添加属性分组时,分组ID字段的正则验证不起效果,依然可以保存中文、特殊字符等

image-20220322092849796

问题定位:

回看上面的代码,可以发现。

@Validated引用了分组

image-20220322093140821

而对应的参数groupId并没有被分配的该组中。

image-20220322093347923

解决办法:

将groupId参数分配到@Validated验证组Insert.class中。

image-20220322093556116

结果验证:

image-20220322093725635

知识点总结:

@Validated校验与groups分组的关系

@Validated注解校验可以添加对应分组的参数,这样可以只取参数中对应分组的字段进行验证。

如上面的代码@Validated(Insert.class)注解参数是Insert.class分组

image-20220322093556116

所以只会取参数中Insert.class分组的字段进行验证

image-20220322094119173

反之,如果是@Validated(Updated.class),那么就只会取被分组到Updated.class组的字段进行验证。

image-20220322094315676

当然我这里两个组中的字段都是一样的,哈哈。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐