我正在开发Web应用程序,该应用程序应先验证日期,然后再将其保存到数据库中。所以我正试图用于那个春天的MVC验证器。但是我有一个问题,即表单不显示错误消息。
我的user.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";
}
}
redirect
如果验证失败,请不要这样做。
样例代码:
public String save(@Valid @ModelAttribute("user") final User user,
BindingResult result) throws Exception
{
if (result.hasErrors()) {
return "addUser";
} else {
handler.saveUser(user);
return "redirect:/userList";
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句