gpt4 book ai didi

java - 具有多个错误消息的 Spring hibernate 类型验证

转载 作者:行者123 更新时间:2023-12-01 19:49:13 26 4
gpt4 key购买 nike

我想知道这样的事情是否可能。我有一个名为“Device”的通用 DTO 类。设备保存 ID 和 IP。我设置了内部正则表达式验证来验证 IP 输入是否正确。

但现在我想要进行另一个类型的验证“验证此 IP 是否未被其他设备使用”(对于更新和创建情况)。

为此,我编写了一个面向自定义类型的 ConstraintValidator,在其中完成检查是否没有其他具有给定 IP 的设备的任务。

但从这一点开始,我想更进一步,从一个 ConstraintValidator 进行多次检查和多次响应错误消息,对设备对象进行随机检查。

在这一点上,我找不到是否可以重新定义 validator 的错误消息。这可能吗?

最佳答案

您可以使用我用于自己的 API 的以下函数来执行此操作:

public static void setNewErrorMessage(String newErrorMessage, ConstraintValidatorContext context) {

context.disableDefaultConstraintViolation();
context.buildConstraintViolationWithTemplate(newErrorMessage)
.addConstraintViolation();
}

此处的上下文对象在任何 ConstraintValidator 实现类的 isValid 函数中传递。

这样您就可以执行以下操作:

if(hasError1()) {
setNewErrorMessage(ERROR1_MESSAGE, context);
return false;
}

if(hasError2()) {
setNewErrorMessage(ERROR2_MESSAGE, context);
return false;
}

关于java - 具有多个错误消息的 Spring hibernate 类型验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52038039/

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