javax验证-用于null检查的跨字段验证

时间:2019-09-18 14:35:37

标签: java spring-boot bean-validation

在下面的代码中,我想使用javax验证来检查货币和金额都为null还是都不为null。如果其中一个不为null,而另一个为null,则验证应引发错误。

例如:货币==空&&金额==空为真

currency == null && amount == 100是错误

currency ==“美元” &&金额== null为假

currency ==“美元&&金额== 100为真

public class fee {
  private String currency;

  private Double amount;
}
public class TransactionFee {
  @NotNull
  private String basis;

  @NotNull
  private Double rate;
}

仅在两者都不为空时检查

public class TransactionFee {
  @Null
  private String basis;

  @Null
  private Double rate;
}

仅检查是否均为空

我想知道是否有任何方法可以实现对空检查的跨字段验证

1 个答案:

答案 0 :(得分:0)

如@A Le Dref所述,您将需要使用类级别的验证器而不是字段级别的验证器。

可以在this stack overflow answer中找到示例。