3.2. 将代码解析为错误消息
我们涵盖了数据绑定和验证。本节介绍与验证错误相对应的输出消息。在上一节所示的示例中,我们拒绝了name
和age
字段。如果我们想通过使用MessageSource
来输出错误消息 ,我们可以使用我们在拒绝字段时提供的错误代码(在本例中为“姓名”和“年龄”)来完成。当您调用(直接或间接,通过使用例如ValidationUtils
类)rejectValue
或Errors
接口中的其他reject
方法之一时,底层实现不仅注册您传入的代码,而且还注册许多额外的错误代码。MessageCodesResolver
确定Errors
接口寄存器的错误代码。默认情况下, 使用DefaultMessageCodesResolver
,它(例如)不仅使用您提供的代码注册消息,而且还注册包含您传递给拒绝方法的字段名称的消息。所以,如果你用rejectValue("age", "too.darn.old")
拒绝一个字段,除了代码too.darn.old
之外,Spring 还会注册too.darn.old.age
和 too.darn.old.age.int
(第一个包含字段名称,第二个包含字段类型)。这样做是为了方便开发人员定位错误消息。
有关MessageCodesResolver
和 默认策略的更多信息可以分别在MessageCodesResolver
和 DefaultMessageCodesResolver
的 javadoc 中找到 。
最后更新于