首页 > 解决方案 > Spring Validator + Ajax 显示 bindingResultErrors

问题描述

我想在提交表单之前调用服务器端验证并显示字段上的所有错误:我单击提交按钮,如果验证失败,我会留在同一页面并向我的表单发送每个字段的错误

我有:

我的表格:

<form:form  action="${action}" method="POST" class="ajaxForm" id="myForm" modelAttribute="order" accept-charset="UTF-8">

<input type ="hidden" name="id" value="${order.id}"/>
   
   <form:input type="text" id="number" path="number" class="form-control"
               value="${order.number}" />
   
        <form:errors path="number" class="control-label" />
//etc
<spring:bind path="number">
</spring:bind>
</form:form>

js

  $("#myForm").submit(function( event ) {
            event.preventDefault();
            $("#myForm").ajaxSubmit({url: '/editOrder', type: 'post'})

        });

我的控制器方法

 @RequestMapping(value = "/editOrder", method = RequestMethod.POST)
    public String editEmployeeTripOrder(HttpServletRequest request, 
@Valid @ModelAttribute("order") Order order,
                                        BindingResult bindingResult,
                                        ModelMap modelMap) {
 
try {
       
  if (bindingResult.hasErrors()) {
     //stay here and show the errors     
return bindingResult.getAllErrors();
     }

return "success";//view - jsp page



} catch (Exception e) {
  return "error";//jsp-page
}

无法理解如何执行此操作以使用视图的名称返回值并以相同的方法返回错误。

标签: ajaxspringvalidationjspmodel-view-controller

解决方案


通过使用ajax调用和httpErrorCode解决


推荐阅读