这是我的控制器
@RequestMapping("/offercreated")
public String offerCreated(@Valid Offer offer, Model model, BindingResult result) {
if (result.hasErrors()) {
return "createoffer";
} else {
System.out.println("form validated");
return "offercreated";
}
我的bean是
@Size(min = 5, max = 45)
private String name;
当我提供5到45个字符的名称时,将验证表单。但是当表单未经过验证时,我收到400状态错误报告。我不知道为什么我得到错误。请在这里需要帮助
答案 0 :(得分:1)
BindingResult
参数必须遵循立即验证的参数。这里描述了:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html
org.springframework.validation.Errors / org.springframework.validation.BindingResult前面的命令或表单对象的验证结果(紧接在前的方法参数)。
答案 1 :(得分:0)
当我将控制器参数更改为Model然后提供其工作时,哇!
@RequestMapping(" / offercreated&#34)
public String offerCreated(模型模型,@ Value报价,BindingResult结果){
if(result.hasErrors()){
return" createoffer";
}其他{
System.out.println("表格验证");
return" offercreated";
}
有人可以解释为什么会这样吗?我很困惑!