假设我有一个像这样的简单 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 Validation 中有没有优雅的方法来配置以下条件:
- fromLocation.id=null 导致“您必须输入发件人位置”
- toLocation.id=null 导致“您必须输入接收者位置”
?
最佳答案
不,在 Bean Validation 和 Hibernate Validator 中都没有办法做到这一点。约束 validator (默认情况下)没有任何有关当前路径的上下文信息。
关于java - 针对一个属性的基于上下文的 Java Bean 验证消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32765534/