Я пытаюсь проверить параметр метода с помощью пользовательской аннотации, но средство проверки аннотации не вызывается.
Аннотация
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.CONSTRUCTOR, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = FieldValidator.class)
public @interface ValidField {
String message() default "Incorrect field.";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
FieldValidator
public class FieldValidator implements ConstraintValidator<ValidField, String> {
@Override
public void initialize(final ValidField arg0) {
}
@Override
public boolean isValid(final String field, final ConstraintValidatorContext context) {
System.out.println("Called annotations successfully - "+ field);
return false;
}
}
Тестирование по основному методу
public void testAnnotation(@ValidField String q){
System.out.println("inside testAnnotation..");
}
/************************* TESTING ****************************/
public static void main(String[] args) {
Test test= new Test();
test.testAnnotation("sample");
Ожидается: аннотации вызваны успешно - образец должен отображаться в консоли