2

我试图了解以下之间的区别:

  • void addError(ObjectError error) (来自 org.springframework.validation.Errors)
  • void rejectValue(String field, errorCode) (来自 org.springframework.validation.BindingResult)

我确实阅读了 Spring javadocs,但无法理解两者之间的区别。

谁能提供解释或代码示例?

4

1 回答 1

6

rejectValue简单地封装对 addError() 提供ObjectErrorFieldError实例的调用。

根据 javadocaddError()只支持ObjectErrorAnd FieldError,所以它不是关于创建自定义 ObjectErrors

无效 org.springframework.validation.BindingResult.addError(ObjectError 错误)

将自定义 ObjectError 或 FieldError 添加到错误列表中。旨在通过 BindingErrorProcessor 等合作策略使用。

所以addError()更适合框架开发者并且rejectValue()是要走的路。

于 2012-10-27T09:46:19.423 回答