controller代碼
@RequestMapping("") public String index(@Valid User user , BindingResult bindingResult){ if (bindingResult.hasErrors()){ List<ObjectError> allErrors = bindingResult.getAllErrors(); ObjectError objectError = allErrors.get(0); System.out.println(objectError.getDefaultMessage()); System.out.println(objectError.getObjectName()); System.out.println(allErrors); } return "index"; }
請求先來到DispatcherServlet的doDispatch 方法,最終會調用ModelAttributeMethodProcessor#resolveArgument方法
調用DataBinder#validate方法后調用ConstraintTree#validateSingleConstraint,由它來調用具體的驗證器
具體的驗證器