假设我们具有以下结构:
public class User {
@NotNull(message = "not available")
private String phoneNumber;
//getter and setter
}
public class CEO extends User{}
public class TechManager extends User{}
public class Company {
@Valid
private CEO ceo;
@Valid
private TechManager techManager;
//getters and setters
}
在上面的示例中,phoneNumber是CEO和TechManager之间的共享对象。
如何在CEO具有可选功能且TechManager具有必需的phoneNumber的情况下对此进行验证?
最佳答案
您可以在子类中隐藏private String phoneNumber
字段,并按照每个子类所需的方式定义验证批注。在这种情况下,应该覆盖getter和setter。