我有一个场景,我需要根据另一个类的字段值来验证类的某些字段。
对于例如:街道,城市,如果员工已注册团体退休计划,则地址类的邮政编码不应为空。
可以使用Hibernate Validator的Custom Validator处理这个场景吗?这是Hibernate Validator的一个很好的候选者吗?如果是这样,任何人都可以提供一些例子。
我已经通过了跨领域验证示例,例如: Cross field validation with Hibernate Validator (JSR 303)
如果我有一个布尔指示符来指示用户是否在地址域类中注册了群组退休计划,我知道我可以提出自定义验证器来验证字段。但是,我想避免在Address类中添加指示符。同样,Address不是Employee类中用于执行嵌套验证的字段。
我使用的框架是Spring MVC和Mybatis for Data access。使用@Valid注释在Spring Rest API调用中进行验证。
答案 0 :(得分:1)
我想自定义类级别约束可能有效,但它取决于您的实际域类。目前尚不清楚如何连接例如员工,团体退休计划和这些其他实体。
Hibernate Validator是否适合您是否还有其他验证或涉及哪些其他框架。例如,如果您希望在JPA实时循环事件中进行验证,则Bean验证非常适合,因为它将每个规范与JPA集成。如果您真的只有这一个验证,那么编写一些自定义代码可能就是您所需要的。