2012-02-29 1 views
0

나는 문제에 직면 내 사용자 지정 주석 및 검증 쓰는 동안 : 주석에 대한jsr 303의 유효성 검사기에 속성을 추가하는 방법은 무엇입니까?

내 코드 :

@Documented 
@Target(ElementType.FIELD) 
@Retention(RetentionPolicy.RUNTIME) 
@Constraint(validatedBy = NumericValidator.class) 
public @interface Numeric { 

    String message() default "{constraint.postcode}"; 

    Class<?>[] groups() default {}; 

    Class<? extends Payload>[] payload() default {}; 

    int digitCount(); 
} 

그래서 당신은 내가 추가 매개 변수 "digitCount"를 필요로 볼 수 있습니다. 그러나이 매개 변수는 필수 사항이 아니므로 유효성 검사 없이는 사용할 수 있지만이 주석에 따르면 어쨌든 지정해야합니다. 이 매개 변수에 대한 기본값을 제공하고 싶습니다. 실제로이 작업을 수행하는 방법을 모릅니다.

답변

0

기본값으로 매직 넘버를 입력하고 매직 넘버가있는 어노테이션을 무시하십시오. 이 예제에서 -1을 마법 번호로 사용했습니다.

@Documented 
@Target(ElementType.FIELD) 
@Retention(RetentionPolicy.RUNTIME) 
@Constraint(validatedBy = NumericValidator.class) 
public @interface Numeric { 

    String message() default "{constraint.postcode}"; 

    Class<?>[] groups() default {}; 

    Class<? extends Payload>[] payload() default {}; 

    int digitCount() default -1; 
} 
관련 문제