Как я могу установить ограничения по умолчанию для всех моих свойств в hibernate validator? - PullRequest
1 голос
/ 08 марта 2011

Я хочу автоматически установить ограничения @Valid на все мои свойства.

Пример:

public class Adult extends MyBeanValidationAbstractClass{
    @Min(18)
    public Integer age;
    @NotBlank
    public String name;
    public Dog dog;
    public Cat cat;
}

Я хочу, чтобы Валидатор думал, что все свойства имеют аннотацию @Valid.

Как этого достичь?

Ответы [ 2 ]

0 голосов
/ 05 ноября 2016

Честный ответ: валидация бина не соответствует соглашению о конфигурации - вы должны поместить @Valid повсюду.В IMHO проверка бобов имеет фундаментальный недостаток дизайна.

Кстати: для тех, кто не любит шаблонный код и хочет пойти неофициальными путями, загляните сюда: https://m -mm.github.И.О. / Maven / apidocs / нетто / SF / ттт / Util / боба / API / Bean.html

0 голосов
/ 08 марта 2011

Итак, в вашем примере вы хотите, чтобы собаки и кошки были аннотированы @Valid.Я думаю, целое число и строка не должны быть затронуты?Я не думаю, что вы можете автоматизировать это, кто еще, кроме вас, должен знать, какие требования предъявляются к вашим атрибутам?

--- Редактировать: просто перечитать ... вы не пишете аннотации, вы хотитеконтролировать Validator.

Вы можете написать пользовательскую аннотацию Constraint-Annoation для вашего типа

@ValidAttributes
public class MyClass {
...
}

, а затем использовать обычную Validator для этой аннотации.Затем вы можете использовать отражение, чтобы перебрать все ваши атрибуты и проверить их.

...