我使用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;
} }
我缺少什么? 绑定有效,但不显示错误消息。 感谢
答案 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 ...