2013-08-21 2 views
2

는이 예를 찾아 보게한다 : 주석 필드의결합 된 JSR-303 주석에 메시지를 설정하는 방법은 무엇입니까?

@Pattern(regexp="[0-9]*") 
@Size(max =5) 
@Documented 
@Target({ANNOTATION_TYPE, METHOD, FIELD, CONSTRUCTOR, PARAMETER}) 
@Retention(RUNTIME) 
@Constraint(validatedBy = {}) //do not want any programmatic validation 
public @interface CustomAnnotation { 
    String message() default ""; 
    Class<?>[] groups() default {}; 
    Class<? extends Payload>[] payload() default {}; 
    } 
} 

예 :

@CustomAnnotation(message = "some important message") 
private String field; 

내가 @CustomAnnotation에서하지 @Pattern에서 오류 메시지가 @Pattern 필드 위반. @CustomAnnotation 메시지 만 표시하는 방법입니까?

답변

2

메타 정의 @ReportAsSingleViolationCustomConstraint의 정의에 추가해야합니다. 그런 식으로 구성 제약 중 하나를 위반하면 구성된 제약의 단일 위반으로보고됩니다. BV 참조에서 Constraint Composition 섹션을 참조하십시오.