我有一个名为sport的POJO,其属性为sportID,sportName,玩家数量.使用带注释的验证我编写了自己的注释约束来检查数据库中是否存在sportName.它在尝试添加sportName时效果很好,但是如果我尝试在不更改sportName的情况下更新玩家,则验证也会失败.
有没有办法在带注释的验证中传递参数?例如,我想将sportID传递给sportName约束检查,以便我可以在db查询中排除该ID.
或者有更好的方法吗?在我的控制器中,我应该让Spring验证输入(使用@Valid)然后如果没有错误,请调用验证函数来检查业务规则?
更好的方法是使用验证组。(Spring MVC 和 JSR-303 验证组)
然后您可以拥有没有“不退出验证器”的默认验证组。并有一个带有“不退出验证器”的额外组。这将允许您仅在需要时触发“不退出验证器”。(不幸的是,Spring 3.0 不直接支持它,您必须“手动”开始验证)
另一种方法不是像字段验证器那样实现验证器,而是更像类验证器。-在此堆栈溢出问题中查看针对跨字段验证讨论的不同解决方案。它将让您了解如何访问 id 字段。
归档时间: |
|
查看次数: |
3687 次 |
最近记录: |