我试图了解之间的区别:


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


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

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

最佳答案

rejectValue只是封装对提供ObjectErrorFieldError实例的addError()的调用。

根据javadoc,addError()仅支持ObjectErrorFieldError,因此与创建自定义ObjectErrors无关。


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

将自定义ObjectError或FieldError添加到错误列表。
旨在供诸如BindingErrorProcessor之类的合作策略使用。


因此addError()更适合框架开发人员,并且rejectValue()是可行的方法。

10-08 14:25