Spring JSR303-自定义验证器中带注释字段的名称

Spring JSR303-自定义验证器中带注释字段的名称,spring,bean-validation,jsr,Spring,Bean Validation,Jsr,我有一个关于自定义注释的问题。更准确地说,我是否有权访问自定义验证器中带注释字段的名称? 如果是,我如何访问它 谢谢否,您无法从约束验证器中访问已验证元素的名称。但是,它是通过产生的约束冲突暴露的(通过getPropertyPath())。在hibernate实现中,您可以使用反射约束ValidatorContext.basePath.currentLeafNode.name来获取它。您可以通过以下exp ((ConstraintValidatorContextImpl) context).ge

我有一个关于自定义注释的问题。更准确地说,我是否有权访问自定义验证器中带注释字段的名称? 如果是,我如何访问它


谢谢

否,您无法从约束验证器中访问已验证元素的名称。但是,它是通过产生的约束冲突暴露的(通过
getPropertyPath()
)。

在hibernate实现中,您可以使用反射约束ValidatorContext.basePath.currentLeafNode.name来获取它。您可以通过以下exp

((ConstraintValidatorContextImpl) context).getConstraintViolationCreationContexts().get(0).getPath()

此解决方案似乎不再适用于hibernate.validator 7.0.1.Final。我想不出怎么解决它