Можно ли проверить каждый элемент коллекции на основе одного или нескольких правил проверки делегата? Например:
@EachElement({@Min(1), @Max(12)}) private Set<Integer> monthNumbers;
Взгляните на validator-collection , с этой библиотекой очень легко использовать любую аннотацию ограничений для коллекции простых типов.
@EachMin(1) @EachMax(12) private Set<Integer> monthNumbers;
Также см. https://stackoverflow.com/a/16023061/2217862.
Посмотрите на этот ответ: Проверка гибернации коллекций примитивов .Это описывает решение, которое работает для вас, но оно довольно сложное.Более простым решением может быть реализация класса-оболочки для вашего Integer и объявление @Min и @Max в этом классе.Чем вы можете использовать
Integer
@Min
@Max
@Valid private Set<MyIntegerWrapper> monthNumbers;
класс MyIntegerWrapper:
class MyIntegerWrapper { @Min(1) @Max(12) Integer myInteger; }
Здесь вы найдете некоторую документацию для @Valid: Графы объектов
@Valid