使用不同的验证器映射字段错误

时间:2014-11-10 15:19:59

标签: spring-mvc

我的用例:单个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);
  }

1 个答案:

答案 0 :(得分:1)

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