我在Spring MVC应用程序中正确设置了Hibernate Validator。 Bean已经过验证,但我无法显示错误。
在我的JSP页面中,我有以下几行:
<sf:errors path="*" cssClass="errors" element="div" />
当我运行页面并使用chrome的检查器检查它时,没有用于保存这些错误的div(或任何)元素。它完全被忽略了。这很奇怪,因为跟随行在同一个JSP中正确解析为html表单:
<sf:form method="post" modelAttribute="tsCommand">
这是我用于弹簧形式的taglib:
<%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form"%>
任何可能出错的想法?
答案 0 :(得分:1)
你的语法是正确的,我不确定“element = \”div \“”属性。
您的控制器必须如此:
public void handleActionRequestInternal(@ModelAttribute("tsCommand") @Valid TsCommand tsCommand, BindingResult result, @ModelAttribute ModelMap model) throws Exception {
你的背景:
<bean id="annotationMethodHandlerAdapter"
class="org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="webBindingInitializer">
<bean id="configurableWebBindingInitializer"
class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
<property name="validator">
<ref bean="validator" />
</property>
</bean>
</property>
</bean>
<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
这个,它会好的;)