[英]Spring MVC validation doesn't show error message
我正在使用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";
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.