繁体   English   中英

Spring MVC验证不显示错误消息

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM