简体   繁体   English

Spring MVC验证不显示错误消息

[英]Spring MVC validation doesn't show error message

I'm working on web application which should validate date before save it in DB. 我正在使用Web应用程序,该应用程序应先验证日期,然后再将其保存到数据库中。 So i'm trying to use for that spring mvc validator. 所以我正在尝试使用该弹簧MVC验证器。 But I have a problem that form doesn't show error message. 但是我有一个问题,即表单不显示错误消息。

My user.jsp: 我的user.jsp:

<form:form class="editUser" method="POST" commandName="user">
    <form:input path="email"/>
    <form:errors path="email"/>
    other fields
</form>

My controller: 我的控制器:

@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";
   }
}

My User class: 我的用户类别:

public class User {
    @NotEmpty(message = "Please enter your email addresss.")
    private String email;

    other fields
}

As far as I see in debug mode result contains error if I submit empty email, but it error doesn't show on page. 据我在调试模式下看到的结果,如果我提交空的电子邮件,结果将包含错误,但该错误不会显示在页面上。 Could some one help me? 有人可以帮我吗?

UPDATE: I have tried to use RedirectAttributes , but it still doesn't work. 更新:我试图使用RedirectAttributes ,但仍然无法正常工作。

My controller: 我的控制器:

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";
   }
}

Don't redirect in case of validation failed. 如果验证失败,请不要 redirect

sample code: 样例代码:

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