【发布时间】:2017-03-09 15:55:31
【问题描述】:
我使用带有 Bean 验证的 Java EE7。
我有一个带有方法的会话 bean,我在其中定义了验证约束。
public void doTest(@NotNull @Valid Media param1) {
// do something
}
类Media已经定义了一些组约束。是否可以仅针对特定组验证方法 doTest的调用?
【问题讨论】:
我使用带有 Bean 验证的 Java EE7。
我有一个带有方法的会话 bean,我在其中定义了验证约束。
public void doTest(@NotNull @Valid Media param1) {
// do something
}
类Media已经定义了一些组约束。是否可以仅针对特定组验证方法 doTest的调用?
【问题讨论】:
我找到了带有标准注释的解决方案。它使用@ConvertGroup。
工作示例是:
public void doTest(
@NotNull @Valid
@ConvertGroup(from = Default.class, to = TestGroup.class)
Media param1) {
// do something
}
TestGroup 是在 Media 类中的一些约束上定义的。
【讨论】:
标准的 java @Valid 注解不能验证组。但是spring有@Validated可以做到。看看这个答案。 How to specify validation group for @Valid?.
【讨论】:
@ConvertGroup注解找到了解决方案。