Constraint コンポジションを使用しようとしており、次の例のように、合成された各コンストレインのグループを定義したいと考えています: -
複合制約
@Target({
ElementType.FIELD,
ElementType.METHOD,
ElementType.PARAMETER,
ElementType.TYPE,
ElementType.ANNOTATION_TYPE
})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@DummyValid1(group = Group1.class)
@DummyValid2(group = Group2.class)
@Constraint(validatedBy = {})
public @interface DummyCompositeValid {
String message() default "The bean is invalid.";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
データ Bean
@DummyCompositeValid
public class DummyBean {
//Fields declaration, Setter and Getter
}
ビジネス検証方法
this.validator.validate(dummyBean, Group1.class, Group2.class);
その結果、dummyBean は検証されませんでした。次のように複合制約なしで直接定義するとグループがうまく機能するので、私は混乱しています: -
データ Bean
@DummyValid1(group = Group1.class)
@DummyValid2(group = Group2.class)
public class DummyBean {
//Fields declaration, Setter and Getter
}
さらにアドバイスと説明を手伝っていただけますか?よろしくお願いいたします。ご連絡をお待ちしております。
よろしく、
チャーリー・チ