有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

一个属性的基于上下文的JavaBean验证消息

假设我有一个简单的DTO,如下所示:

public class IdHolder {

    @NotNull
    private Long id;

    // ...
}

public class Transport {

    @Valid @NotNull(message = "{messages.fromLocationRequired}")
    private IdHolder fromLocation;

    @Valid @NotNull(message = "{messages.toLocationRequired}")
    private IdHolder toLocation;

    // ...
}

在以下情况下,我会收到很好的消息:

  • fromLocation=null导致“您必须输入发件人位置”
  • toLocation=null导致“您必须输入您的接收者位置”

但是如果对象不为null,但是它们对应的id为null,那么我也希望获得这些消息

那么,在Java Bean验证中是否有优雅的方法来配置以下条件:

  • 从地点。id=null导致“您必须输入发件人位置”
  • toLocation。id=null导致“您必须输入您的接收者位置”

?


共 (1) 个答案

  1. # 1 楼答案

    不,在Bean验证和Hibernate验证程序中都无法做到这一点。约束验证器(默认)没有关于当前路径的任何上下文信息