javax.validation约束,向属性的属性添加违规

时间:2018-08-04 18:53:01

标签: java spring annotations spring-annotations hibernate-annotations

我试图使用自定义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();

有人知道我试图做的事是否可以实现吗?

0 个答案:

没有答案