首页 > 解决方案 > 使用具有不同条件的 javax 验证来验证 Java 中对象的特定字段

问题描述

我想根据其使用情况以不同的方式验证对象的字段。我在这里给出了一个模糊的例子。我在网上或文档中没有看到这样的例子。我正在使用 javax 验证。显然我不能在 @Person 类中添加验证,因为最小最大值会根据用例而改变。我能想到的一种方法是手动实现设置器并在那里调用我的自定义验证。但这将是矫枉过正。

@Data
public class Person{
  private String name;
  private String age;

}

@Data
public class OnlineClass{

  
  private LocalDateTime startTime;
  private LocalDateTime endTime;

  @Min(targetField=age, value=30)
  private Person teacher;

  @Max(targetField=age, value=14)
  @Size(targetField=name, min=5)
  private Person student;

}

我应该实现自定义验证还是有没有办法在没有自定义验证的情况下实现相同的效果?

标签: javavalidation

解决方案


推荐阅读