2016-12-06 6 views
0

У меня есть проблема с проверкой вложенных моделей, смотрите:Проверка вложенных моделей весной ботинке

class A{ 
    @NotNull 
    Integer i; 
    B b; 
} 
class B{ 
    @NotNull 
    Integer j; 
} 

Весной контроллер:
@Valid @RequestBody...

Это правильно проверить i, но не проверять j. Как заставить весну глубоко обосновать арбитраж?

И вторая вещь:
Можно сделать следующие проверки: Объект класса «А», собственно только и только тогда, когда точно один из ij является null.

class A{ 
    Integer i; 
    Integer j; 
} 

ответ

4

проверки графа объектов поддерживается, и вы должны аннотировать B b с @Valid, как показано ниже.

class A{ 
    @NotNull 
    Integer i; 
    @Valid 
    B b; 
} 

Пожалуйста, обратитесь https://docs.jboss.org/hibernate/stable/validator/reference/en-US/html_single/?v=5.3#section-object-graph-validation для более подробной информации.

Для второй части вопроса вы можете создать пользовательский класс Validator. Вам также понадобится пользовательская аннотация для этого валидатора. Вы можете проверить данные на странице документации here. Образец для пользовательского валидатора - here.

Смежные вопросы