如何根据包含给定bean的类更改验证规则? 例如:
public class ParentA {
@Valid
private Child c;
}
public class ParentB {
@Valid
private Child c;
}
public class Child {
@NotNull // when in ParentA
@Null // when in ParentB
private String name;
}
有验证组,但是,在这种情况下,我不知道如何应用它们。我可以指定以下内容:如果验证ParentA然后对其字段应用GroupA,希望通过一些注释并且没有instanceof?我真的不想创建具有不同验证注释的两种类型ChildA和ChildB。我正在使用spring 4构建REST服务。感谢您提供任何反馈。
答案 0 :(得分:0)
试试此代码
public class ParentA {
@Valid
@ConvertGroup(from=Default.class, to=ParentA.class)
private Child c;
}
public class ParentB {
@Valid
@ConvertGroup(from=Default.class, to=ParentB.class)
private Child c;
}
public class Child {
@NotNull(groups=ParentA.class)
@Null(groups=ParentB.class)
private String name;
}
中找到更多信息和其他示例