我正在使用以下initBinder方法添加用户验证器:
@InitBinder
protected void initBinder(WebDataBinder binder) {
binder.setValidator(new UserValidator());
}
Run Code Online (Sandbox Code Playgroud)
这里是 UserValidator
public class UserValidator implements Validator {
public boolean supports(Class clazz) {
return User.class.equals(clazz);
}
public void validate(Object target, Errors errors) {
User u = (User) target;
// more code here
}
}
Run Code Online (Sandbox Code Playgroud)
该validate方法是在控制器方法调用中得到正确调用.
@RequestMapping(value = "/makePayment", method = RequestMethod.POST)
public String saveUserInformation(@Valid User user, BindingResult result, Model model){
// saving User here
// Preparing CustomerPayment object for the payment page.
CustomerPayment customerPayment = new …Run Code Online (Sandbox Code Playgroud)