【问题标题】:Context based Java Bean Validation messages for one property一个属性的基于上下文的 Java Bean 验证消息
【发布时间】:2015-09-24 15:40:29
【问题描述】:

假设我有一个像这样的简单 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 会导致“您必须输入您的接收方位置”

但如果对象不为空但它们对应的 id 为空,我也想获取这些消息。

那么在Java Bean Validation中有没有优雅的方式来配置以下条件:

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

?

【问题讨论】:

    标签: java bean-validation


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 2011-12-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多