我试图使用自定义javax.validation约束注释,以设置对声明对象字段中保存的字段之一的违反。
例如我有一个汽车对象
@MyConstraint
class Car {
public int people;
public Driver driver;
}
class Driver {
public String licenseType;
}
现在,我需要我的约束条件才能根据汽车上的人数,使用自定义消息在驾驶员的licenseType字段上设置错误。例如,它可以验证汽车上是否有超过2个人,并且许可证类型必须为“ Expert”,然后在驾驶员licenseType上设置违规,说这必须是“ Expert”的许可证类型。约束违反消息。
当前,我正在尝试在注释验证类中进行此操作:
context.disableDefaultConstraintViolation();
context
.buildConstraintViolationWithTemplate("my custom message")
.addPropertyNode("driver.licenseType")
.addConstraintViolation();
有人知道我试图做的事是否可以实现吗?