我做了很多我們的驗證與Hibernate和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類,但這是我想要避免的,我寧願只在類變量本身上使用註釋。
OP指定他不想創建一個Validator類,但是從一個單獨的驗證器調用'validator.validate(account,errors,Account.Step1.class)'方便地將錯誤添加到響應實體(如果BindingResult未在控制器中定義)。 – Milanka