在编写我的自定义注释和验证器时,我遇到了问题:
我的注释代码:
@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 :(得分: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;
}