Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc 使用不同的验证程序映射字段错误_Spring Mvc - Fatal编程技术网

Spring mvc 使用不同的验证程序映射字段错误

Spring mvc 使用不同的验证程序映射字段错误,spring-mvc,Spring Mvc,我的用例:单个html表单可以作为保存或更新事件触发。根据事件的不同,验证由不同的验证器执行。到目前为止,这适用于以下代码。我唯一的问题是,我希望字段错误在所有情况下都映射到“saveDto”,这样我就可以将它们映射到我的表单中 欢迎任何提示 @Inject private SaveValidator saveValidator; @Inject private UpdateValidator updateValidator; @RequestMapping(value

我的用例:单个html表单可以作为保存或更新事件触发。根据事件的不同,验证由不同的验证器执行。到目前为止,这适用于以下代码。我唯一的问题是,我希望字段错误在所有情况下都映射到“saveDto”,这样我就可以将它们映射到我的表单中

欢迎任何提示

  @Inject
  private SaveValidator saveValidator;

  @Inject
  private UpdateValidator updateValidator;

  @RequestMapping(value = EVENT_SAVE, method = RequestMethod.POST)
  protected String doSave(@Valid @ModelAttribute("saveDto") final SaveDto saveDto,
      final BindingResult bindingResult, final Model model, final HttpServletRequest request)
  {
    if (bindingResult.hasErrors())
    {
      // ...
    }

  }

  @RequestMapping(value = EVENT_UPDATE, method = RequestMethod.POST)
  protected String doUpdate(@Valid @ModelAttribute("updateDto") final SaveDto saveDto,
      final BindingResult bindingResult, final Model model, final HttpServletRequest request)
  {
    if (bindingResult.hasErrors())
    {
      // ...
    }

  }


  @InitBinder("saveDto")
  protected void initSaveValidator(final WebDataBinder binder)
  {
    binder.addValidators(saveValidator);
  }

  @InitBinder("updateDto")
  protected void initUpdateValidator(final WebDataBinder binder)
  {
    binder.addValidators(updateValidator);
  }

尝试hibernate验证组功能以及@Validated注释