Spring MVC - Hibernate形式:errors和bindingresult,jsp不显示错误消息

时间:2011-12-16 09:26:39

标签: hibernate validation jsp spring-mvc

我使用Spring MVC 3,Spring 3和Hibernate 2.5。 我想验证我的输入,但我无法使其工作:页面上没有任何内容。

我的jsp

<form:form commandName="entrepriseSearch" action="/search" modelAttribute="entrepriseSearch" class="search" method="POST">
    <table class="search">
        <tbody>
            <tr>
                <td>
                    <form:input path="champ1"/>
                    <form:errors path="champ1"/>
                </td>
            </tr>
                        ... 
        </tfoot>
    </table>
</form:form>

我的控制器

 @RequestMapping(value = "search", method = { POST })
public String search(@Valid @ModelAttribute("entrepriseSearch")  EntrepriseSearch entrepriseSearch, BindingResult bindingResult, Model model) {

    if (bindingResult.hasErrors()) {
        // bindingResult works 
        return "domain/domentreprise/showSearchForm";
    }

    return "/search";
}

我的豆子

public class EntrepriseSearch extends SearchForm implements Serializable {

private static final long serialVersionUID = 1L;

private String champ1;

@MinMaxLength(min = 9,max=14, nullable = true)
public String getChamp1() {
    return champ1;
}

public void setChamp1(String champ1) {
    this.champ1= champ1;
} }

我缺少什么? 绑定有效,但不显示错误消息。 感谢

2 个答案:

答案 0 :(得分:1)

您可能希望在发生错误时添加要报告的消息:

@MinMaxLength(min = 9,max=14, nullable = true, message="Error here")
public String getChamp1() {
    return champ1;
}

P / s:您可能想尝试打印bindingResult.getFieldErrors()的结果以进行调试。

答案 1 :(得分:0)

在调试期间检查哪个消息代码有字段错误。确保您已指定可以为错误代码提供消息的消息源。

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource" p:basenames="message ...