为什么 BindingResult 必须遵循@Valid?
2022-09-04 07:12:11
当我遇到错误时,我正在努力使我的Spring MVC验证返回到页面提交的页面。我最终解决了这个问题,注意到BiningResult需要放在我正在验证的表单参数旁边。
例如,如果我将 spring.io 教程(http://spring.io/guides/gs/validating-form-input/)中的checkPersonInfo方法修改为 -
@RequestMapping(value="/", method=RequestMethod.POST)
public String checkPersonInfo(@Valid Person person, BindingResult bindingResult, Model model) {
if (bindingResult.hasErrors()) {
return "form";
}
return "redirect:/results";
}
然后它将工作并重定向到表单页面,但如果我将其更改为 -
@RequestMapping(value="/", method=RequestMethod.POST)
public String checkPersonInfo(@Valid Person person, Model model, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return "form";
}
return "redirect:/results";
}
然后它重定向到 /errors
这是什么原因造成的?