我正在使用基于注释的验证,但是对于其中一种形式,我无法使用form:errors标记显示任何错误。当我调试该方法时,我看到BindingResult有错误,但是由于某种原因它没有显示在表单上。我很困惑,因为我正在使用其他形式,但是由于某种原因,这种特定形式存在问题。任何指针,不胜感激。
form:errors
BindingResult
这是控制器的一些代码,我在控制器中也有copyCartForm作为@SessionAttribute:
@RequestMapping(params="action=Confirm Copy", method=RequestMethod.POST) public String copyCart(@Valid CopyCart copyCartForm, BindingResult result) { if (result.hasErrors()) { logger.debug("errors in form" + result.toString()); return "copyshoppingcart"; } else { ... ... return "redirect:/home"; } }
在JSP中,我尝试了以下方法:
<form:errors path="*" cssClass="formError"/>
以及:
<form:errors path="fieldName" cssClass="formError"/>
都不行。
我不得不用它@ModelAttribute来工作。所以表格之前@ModelAttribute("copyCartForm") @Valid CopyCart copyCartForm, BindingResult result)
@ModelAttribute
@ModelAttribute("copyCartForm") @Valid CopyCart copyCartForm, BindingResult result)