Для текущего проекта мы используем аннотации JSR-303 для проверки параметров нашего интерфейса.
Мне нужно было создать пользовательскую аннотацию для дат, так как значения по умолчанию @Past и @Before также учитываютвремя.
Это определение моей аннотации:
@Target({ METHOD, FIELD, ANNOTATION_TYPE, CONSTRUCTOR, PARAMETER })
@Retention(RUNTIME)
@Documented
@Constraint(validatedBy = { NotInFutureValidator.class })
/**
* Annotated element must be a date before tomorrow, compared to the system's date
*/
public @interface NotInFuture {
String message() default "{be.credoc.contractRegistration.interface_v2.validation.pastignoretime}";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
Реализация валидатора довольно проста.
Наше веб-приложение написано на GWT, и оно делаетиспользование gwt-проверки.Это позволяет нам проверять наши параметры на стороне клиента с помощью одних и тех же аннотаций.
Однако, когда я аннотирую свои параметры своей пользовательской аннотацией и хочу проверить ее с помощью GwtValidatorFactory, она не 'я не могу выдать ошибку, когда вводится дата в будущем.
Есть ли у кого-нибудь проблемы с определением и использованием своих собственных аннотаций в приложении GWT, и я вижу, что мне не хватает?
Спасибозаранее