hibernate validator 能否用于根据来自另一个 class 的字段值来验证字段

Can hibernate validator be used to validate a field depending on a field value from another class

我有一个场景,我需要根据另一个 class 的字段值来验证 class 的某些字段。

例如:街道、城市、地址邮政编码 class 如果员工已注册团体退休计划,则不应为空。

可以使用Hibernate Validator 的Custom Validator 来处理这种情况吗?这是 Hibernate Validator 的良好候选者吗?如果是这样,谁能给我提供一些例子。

我已经完成了跨域验证示例,例如: Cross field validation with Hibernate Validator (JSR 303)

如果我有一个布尔值指示器来指示用户是否在地址域 class 中注册了团体退休计划,我知道我可以想出自定义验证器来验证字段。但是,我想避免向地址 class 添加指标。同样,Address 不是 Employee class 中用于进行嵌套验证的字段。

我使用的框架是Spring用于数据访问的MVC 和Mybatis。验证发生在 Spring Rest API 调用 @Valid 注释。

我想自定义 class 级别限制可能有效,但这取决于您的实际域 classes。目前尚不清楚员工、集团退休计划和这些其他实体是如何关联的。

Hibernate Validator 是否适合,取决于您是否也有其他验证或涉及哪些其他框架。例如,如果您希望在 JPA 实时循环事件中进行验证,那么 Bean Validation 是一个很好的选择,因为它根据规范与 JPA 集成。如果您真的只有这一次验证,那么您可能只需要编写一些自定义代码。