Spring 注释验证 - 检查更新与添加时的唯一性

2023-12-23

我有一个名为 sport 的 POJO,其属性有 sportID、sportName、玩家数量。使用带注释的验证,我编写了自己的注释约束来检查数据库中是否已存在 sportName。当尝试添加 sportName 时它效果很好,但是如果我尝试更新玩家而不更改 sportName,验证也会失败。

有没有办法在带注释的验证中传入参数?例如,我想将 sportID 传递给 sportName 约束检查,以便我可以在数据库查询中排除该 ID。

或者有更好的方法吗?在我的控制器中,我应该让 Spring 验证输入(使用 @Valid),然后如果没有错误则调用验证函数来检查业务规则吗?


更好的方法是使用验证组。 (Spring MVC 和 JSR-303 验证组 http://digitaljoel.nerd-herders.com/2010/12/28/spring-mvc-and-jsr-303-validation-groups/)

然后,您可以拥有默认验证组,而无需“不退出验证器”。并有一个额外的组与“不退出验证器”。这将允许您仅在需要时触发“不退出验证器”。 (不幸的是,Spring 3.0 不直接支持它,您必须“手动”开始验证)

另一种方法是不像字段验证器那样实现验证器,而更像类验证器。 -- 看看针对跨领域验证讨论的不同解决方案在这个堆栈溢出问题中 https://stackoverflow.com/questions/1972933/cross-field-validation-with-hibernate-validator-jsr-303。它会让您了解如何访问 id 字段。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring 注释验证 - 检查更新与添加时的唯一性 的相关文章

随机推荐