spring - Spring中 "addError(ObjectError error)"和 "rejectValue(String field, String errorCode)"之间的区别

标签 spring spring-mvc

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

  • void addError(ObjectError error)(来自 org.springframework.validation.Errors)
  • voidrejectValue(字符串字段, errorCode) (来自 org.springframework.validation.BindingResult)

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

有人可以提供解释或代码示例吗?

最佳答案

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

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

void org.springframework.validation.BindingResult.addError(ObjectError error)

Add a custom ObjectError or FieldError to the errors list. Intended to be used by cooperating strategies such as BindingErrorProcessor.

因此 addError() 更适合框架开发人员,而 rejectValue() 是最佳选择。

关于spring - Spring中 "addError(ObjectError error)"和 "rejectValue(String field, String errorCode)"之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13088835/

相关文章:

java - 无法从字符串转换为时间戳;格式错误

Spring Batch - 验证输入 csv 文件中的标题行,如果文件无效则跳过该文件

java - 在 Web 应用程序(Spring、Hibernate、Java)上测试流量

spring-mvc - 为什么我应该声明 <mvc :resources> in my configuration file

java - 如何使用 RedirectAttributes 在另一个 Controller 中调用一个 Controller 方法

java - Spring @RequestParam 和 Controller 接口(interface)

java - JHipster/React - 匿名从服务器获取数据(登录前)

spring-mvc - Spring MVC Controller 中JsonView的动态选择

java - Spring Roo 和 Hibernate : how to prevent deletion

javax.naming.NameNotFoundException : Name [jdbc/spitterDS] is not bound in this Context. 无法找到 [jdbc]