[英]Spring validation framework multiple model attributes error message not displayed on jsp
我正在尝试使用spring验证框架来验证2个模型属性。 目的是在单击“搜索”按钮时验证lookUpbean(搜索条件),然后在从服务中获取结果Bean(即memberShipbean)时也对其进行验证,以便如果结果中某些字段为空,则可以向用户显示警告豆角,扁豆。
<form:form method="POST" modelAttribute="lookupPageBean" id="lookupForm" name="lookupForm"
action="lookupMembership.htm">
<td class="error">
<form:errors path="membershipNumber" />
<form:input class="medium-textbox" id="membershipNumber" path="membershipNumber" />
<button type="submit" class="Active-button-small">
<fmt:message key="button.go" />
</button>`
@RequestMapping(method = RequestMethod.POST, value = URLMappingConstant.MEMBERSHIP_LOOKUP)
public String viewMembership(ModelMap modelMap, HttpServletRequest request, HttpServletResponse response,
@ModelAttribute(UIConstant.LOOKUP_PAGE_BEAN) LookupPageBean lookupPageBean, BindingResult result,
@ModelAttribute(UIConstant.MEMBERSHIP_BEAN) MembershipPageBean membershipPageBean, BindingResult error) throws WebMTracksException
{
membershipValidator.validate(lookupPageBean, result);
membershipValidator.validate(membershipPageBean, error);
}
现在发生的事情是第一次验证工作正常,但是在第二次验证期间,错误消息未显示在生成的jsp上,但是直到“错误”绑定结果中的此控制器层都报告了错误。
同样在验证层
ValidationUtils.rejectIfEmpty(errors, UIConstant.BUSINESSNAME,ValidationMSGConstants.BUSINESS_NAME)
即使该字段不为空,此方法也始终返回验证错误。
第一个问题是我们可以一次执行多个模型属性。 我在互联网上的某个地方阅读了该书,但找不到相同的任何实现。 请帮助我解决此问题。 还请让我知道您是否可以想到其他解决此问题的解决方案,但是我只想对这两个验证使用spring框架,因为这有助于维护应用程序的现有设计。
我认为您没有将多个模型属性绑定到同一表格,我相信这是您要的内容。 从HTTP的角度来看,我什至不确定该请求的外观,因为我不认为Spring不会提供一种方法来处理所有bean的属性,尤其是在名称重叠的情况下。 您可能要考虑做的是将LookupPageBean和MembershipPageBean包装到一个“窗体bean”中。
至于错误消息,您可能想看看spring:bind标签。 它可能会做您需要从第二个“模型属性”中获取绑定错误的操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.