SpringMVC需要在表单中支持不同类型的验证错误

SpringMVC需要在表单中支持不同类型的验证错误,spring,validation,spring-mvc,Spring,Validation,Spring Mvc,我们的表单验证错误分为两类,主要/次要。如果存在主要错误,则无法保存表单。对于次要字段,逻辑不同:可以保存,但受影响字段仍会显示错误 目前,验证器逻辑是以一种简单的方式实现的:关于BindingResult中是否存在错误的是/否决策 @RequestMapping(params="function=save") public ModelAndView save(final HttpServletRequest request,

我们的表单验证错误分为两类,主要/次要。如果存在主要错误,则无法保存表单。对于次要字段,逻辑不同:可以保存,但受影响字段仍会显示错误

目前,验证器逻辑是以一种简单的方式实现的:关于BindingResult中是否存在错误的是/否决策

    @RequestMapping(params="function=save")
    public ModelAndView save(final HttpServletRequest request, 
                                   @ModelAttribute("model") Model model, 
                                   BindingResult bindingResult) {

        ModelValidator.validate(model, bindingResult);

        if (bindingResult.hasErrors()){
          System.out.println("Form has minimal errors, not saving";
        }
        else {          
            System.out.println("Form does not have minimal errors, saving ");  
            // Save 
            saveForm(..);
  }

这两种错误都需要保存在每个输入的请求字段中,然后显示在JSP中(但服务器端操作不同)。我们如何区分它们?是否有可以添加到BindingResult的属性?

我们有类似的场景。但我们的架构有点不同。我们使用spring验证器来验证是否发生了主要错误,并停止任何进一步的事务。次要错误由业务层处理,因为我们案例中的每个次要错误都必须单独处理。不确定是否有帮助。我不认为我们有任何属性可以添加我认为解决方案是携带一个跟踪主要错误的自定义集合,它可以驻留在一个所有验证程序扩展的抽象验证程序中,这样我们就可以检查是否存在最小错误。