проверка javax для вложенных унаследованных классов

#java #validation #inheritance #nested

#java #проверка #наследование #вложенный

Вопрос:

У меня есть структура классов Java как встроенная :

База классов

Класс Base_A расширяет базу

 @NotNull
List<A_item> items
  

Класс Base_B расширяет базу

 @NotNull
List<B_item> items
  

Базовый элемент класса

Класс A_item расширяет Base_item

 @NotNull
start_date
  

Класс B_item расширяет Base_item

 @NotNull
quantity
  

Проблема: когда я использую javax validator.validate(Base_A), он проверяет только ненулевые «элементы». Но это не выдает ошибку, если «start_date» отсутствует для объекта A_item в списке «элементы».

Есть ли способ, которым я могу решить эту проблему (без перебора списка <A_items> и повторной проверки A_item)

Комментарии:

1. Привет, Пинал Шах, ты исправил свою проблему? Не могли бы вы просмотреть мой ответ?

Ответ №1:

Пожалуйста, попробуйте добавить аннотацию @Valid поверх аннотации @NotNull Пожалуйста, смотрите Следующий пример:

 @Valid
@NotNull
List<A_item> items
  

Более того, если вы используете list, я хотел бы рекомендовать пометить его аннотацией @NotEmpty