У меня два класса. Один из них - класс A, другой - класс B. Класс A имеет строковое поле, которое имеет настраиваемую проверку для проверки кодировки base 64. Класс B имеет список экземпляров класса A. Мне нужно добавить специальный валидатор для этого списка, который проверяет общий размер в байтах. Когда я добавляю настраиваемый валидатор в список экземпляров A в B, он работает, но валидатор для моего строкового поля класса A не срабатывает. Если я удалю пользовательский валидатор @ValidTotalSize, тогда @ValidEncoding будет работать.
Class A {
@ValidEncoding
private string content
}
Class B {
@ValidTotalSize
private List<A> contentList
}
My JUnit - в этом я пытаюсь протестировать кодирование содержимого внутри A. Я намеренно передаю неправильную кодировку, поэтому у меня не получается ограничение, и я хочу это утверждать. Но после добавления @ValidTotalSize в contentList внутри B @ValidEncoding даже не сработает. Как я могу обеспечить запуск обеих проверок?
@Test
public void testContentEncoding() {
//create stub with incorrect encoded content
final Set<ConstraintViolation<B>> violations = Validation.buildDefaultValidatorFactory().getValidator().validate(stub);
Assert.assertTrue(!violations.isEmpty());
}
Как заставить работать обе? Один для проверки внутреннего содержимого, а второй для проверки списка.