为什么BindingResult必须遵循@Valid?
当我遇到错误时,我一直在努力让Spring
MVC验证返回到页面提交页面。最后,我注意到BindingResult必须紧靠我要验证的表单参数,从而解决了该问题。
例如,如果我将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
这是什么原因?
回答:
在BindingResult
先后跟随绑定的对象。原因是,如果绑定的对象更多,则必须知道哪个BindingResult
属于哪个对象。
以上是 为什么BindingResult必须遵循@Valid? 的全部内容, 来源链接: utcz.com/qa/408936.html