Почему в аннотациях Struts 2 отсутствует LongRangeFieldValidator

Я работал над проверкой с использованием аннотации в Struts2, и я был очень удивлен, увидев, что аннотации не имеют LongRangeFieldValidator где проверки, выполненные с использованием XML, имеют LongRangeFieldValidator

Я пробовал разные способы получить LongRangeFieldValidor используя аннотации.

  1. LongRangeFieldValidator, Он показал ошибку, потому что на самом деле не существует и com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator не может быть преобразован в Annotation тип. Это было совершенно очевидно, поэтому я перешел к следующему.

  2. я использовал IntRangeFieldValidator, Я вполне мог бы использовать его, потому что он не мог выполнить типизацию. Я думал, что это должно сработать, потому что документы говорят, что это для числовых типов.

  3. DoubleRangeFieldValidator Этот также проверяет (и это должно) нецелые значения, поэтому я должен был отбросить это.

  4. Наконец я должен был преобразовать мой long поле к String и пришлось использовать RegexFieldValidator,

Мой вопрос, почему нет LongRangeFieldValidator в упаковке com.opensymphony.xwork2.validator.annotations и каковы лучшие практики для его получения?

1 ответ

Решение

Кажется, они забыли добавить эту аннотацию в основной пакет. Просто ошибка может быть или около того, но есть обходной путь. Используйте пользовательскую аннотацию валидатора

@CustomValidator(type ="long", fieldName = "myField") 

под зарегистрированными валидаторами вы можете найти имя валидатора long,

Другие вопросы по тегам