我正在开发 Web 应用程序,它应该在将日期保存到数据库之前验证日期。所以我正在尝试使用那个spring mvc验证器。但我有一个问题,表单不显示错误消息。
我的用户.jsp:
<form:form class="editUser" method="POST" commandName="user">
<form:input path="email"/>
<form:errors path="email"/>
other fields
</form>
我的控制器:
@RequestMapping(value = "/user/save", method = RequestMethod.POST)
public String save(@Valid @ModelAttribute("user") final User user,
BindingResult result) throws Exception
{
if (result.hasErrors()) {
return "redirect:/addUser";
} else {
handler.saveUser(user);
return "redirect:/userList";
}
}
我的用户类:
public class User {
@NotEmpty(message = "Please enter your email addresss.")
private String email;
other fields
}
据我在调试模式下看到的,如果我提交空电子邮件,结果包含错误,但错误不会显示在页面上。有人可以帮我吗?
更新:
我试过用RedirectAttributes
,但还是不行。
我的控制器:
public String save(@Valid @ModelAttribute("user") final User user,
BindingResult result) throws Exception
{
if (result.hasErrors()) {
redirectAttributes.addFlashAttribute("org.springframework.validation.BindingResult.user", result);
redirectAttributes.addFlashAttribute("errors", result.getAllErrors());
redirectAttributes.addFlashAttribute("user", user);
return "redirect:/addUser";
} else {
handler.saveUser(user);
return "redirect:/userList";
}
}