好的,我的应用程序中有两个非常相似的页面。 addressForm.jsp和termsForm.jsp ....每个页面都有一个Spring验证器,用于它的字段。地址表格工作正常。表单验证器运行,我在日志中看到错误对象中的错误,但是jsp没有显示错误。
地址表格......
<form:form htmlEscape="false" name="addressForm" commandName="vendorTransmittal" method="post" action="${onboardingActionUrl}">
<form:errors path="*" cssClass="errorblock" element="div"/>
条款表单...唯一的区别是编码类型,因为条款表单有一个文件上传部分...不确定是否可能搞乱错误显示。
<form htmlEscape="false" name="termsForm" commandName="vendorTransmittal" method="post" action="${uploadFileUrl}" enctype="multipart/form-data">
<form:errors path="*" cssClass="errorblock" element="div"/>
错误存在
[5/4/12 9:23:17:649 EDT] 0000003a SystemOut O 52945 [WebContainer:6] DEBUG com.bedbath.vendorportal.onboarding.validator.TermsFormValidator - 检索到的错误对象'vendorTransmittal'中的字段错误字段'VTShippingMinimumTypeId':拒绝值[1];代码[invalidValue.shippingMinimumType.vendorTransmittal.VTShippingMinimumTypeId,invalidValue.shippingMinimumType.VTShippingMinimumTypeId,invalidValue.shippingMinimumType.java.lang.Integer,invalidValue.shippingMinimumType];参数[];默认消息[如果没有最小送货,则不应输入送货最低类型]
Controller识别错误,并按预期路由回到同一页面。它们只是不显示。
有什么想法吗?
答案 0 :(得分:3)
看起来您的第二个表单是HTML <form>
,而不是Spring <form:form>
。 <form:errors>
只能在<form:form>
内使用。