tôi đang làm rất nhiều xác nhận của chúng tôi với Hibernate và chú thích mùa xuân như vậy:thủ gọi mùa xuân Chú Validation
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{}
}
Và sau đó trong bộ điều khiển nó được gọi trong các đối số:
public String saveAccount(@ModelAttribute @Validated({Account.Step1.class}) Account account, BindingResult result) {
//some more code and stuff here
return "";
}
Nhưng tôi muốn quyết định nhóm được sử dụng dựa trên một số logic trong phương pháp điều khiển. Có cách nào để gọi xác nhận theo cách thủ công không? Một cái gì đó như result = account.validate(Account.Step1.class)
?
Tôi biết việc tạo lớp Validator của riêng bạn, nhưng đó là điều tôi muốn tránh, tôi muốn chỉ sử dụng các chú thích trên các biến lớp.
OP quy định rằng anh ta không muốn tạo một lớp Validator, nhưng gọi 'validator.validate (tài khoản, lỗi, Account.Step1.class)' từ trình xác nhận riêng biệt thuận tiện thêm lỗi vào thực thể phản hồi (nếu BindingResult không được định nghĩa trong bộ điều khiển). – Milanka