Я делаю много нашей проверки с Hibernate и Spring аннотаций так:вручную называют Spring аннотаций Проверка
public class Account {
@NotEmpty(groups = {Step1.class, Step2.class})
private String name;
@NotNull(groups = {Step2.class})
private Long accountNumber;
public interface Step1{}
public interface Step2{}
}
А затем в контроллере это называется в аргументах:
public String saveAccount(@ModelAttribute @Validated({Account.Step1.class}) Account account, BindingResult result) {
//some more code and stuff here
return "";
}
Но я хотел бы выбрать группу, используемую на основе некоторой логики в методе контроллера. Есть ли способ вызвать проверку вручную? Что-то вроде result = account.validate(Account.Step1.class)
?
Я знаю о создании собственного класса Validator, но этого я хочу избежать, я бы предпочел просто использовать аннотации для самих переменных класса.
ОП указал, что он не хочет создавать класс Validator, но вызывает 'validator.validate (account, errors, Account.Step1.class)' из отдельного валидатора, удобно добавляет ошибки в объект ответа (если BindingResult не определен в контроллере). – Milanka