gpt4 book ai didi

java - 如何在 javax 自定义 validator 中查找应用注释的目标级别

转载 作者:太空宇宙 更新时间:2023-11-04 10:06:48 25 4
gpt4 key购买 nike

正在为服务调用实现自定义 validator 。作为它的一部分,我有一个下面的注释。

@Target({ElementType.PARAMETER, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {MyAnnotationValidator.class})
public @interface MyAnnotation {

}

我可以将上述注释应用于字段或参数的元素类型。在参数或字段处调用注释将最终出现在我的约束 validator 类中。

两种元素类型的验证逻辑相同。但是,如果验证失败,我需要为这两个元素发送不同的消息。

如果参数验证失败,我需要说“参数验证失败”,否则我需要说“字段验证失败”。

有什么方法可以让我知道验证调用已从哪种元素类型到达 validator 。

我的解决方案是发送一个带有注释的自定义属性,以指示从何处调用它。像这样的事情。

@MyAnnotation("Parameter") or @MyAnnotation("Field").

需要知道是否有有效的方法来执行此操作。如果需要更多信息,请告诉我。

谢谢

最佳答案

我可以向您确认,目前没有好的方法可以做到这一点。

想知道我们是否应该在 Hibernate ConstraintValidatorContext 中公开一些内容。我会考虑一下。

关于java - 如何在 javax 自定义 validator 中查找应用注释的目标级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52810778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com