|
对于最新稳定版本,请使用 Spring Framework 7.0.6! |
将代码解析为错误消息
我们已经介绍了数据绑定和验证。本节介绍如何输出与验证错误相对应的消息。在前一节所示的示例中,
我们拒绝了name和age字段。如果我们要通过使用 MessageSource 输出错误信息,我们可以在拒绝字段时(例如这里的 'name' 和 'age'),使用提供的错误代码来实现。当您调用(直接或间接,例如通过使用 ValidationUtils 类)rejectValue 或 Errors 接口中的其他 reject 方法时,底层实现不仅会注册您传入的代码,还会注册许多额外的错误代码。`9` 确定 `10` 接口注册哪些错误代码。默认情况下,
DefaultMessageCodesResolver 被使用,这(例如)不仅会注册你给出的消息代码所对应的消息,还会注册包含你在 reject 方法中传递的字段名的消息。所以,如果你通过使用rejectValue("age", "too.darn.old")拒绝一个字段,
除了too.darn.old代码外,Spring 还会注册too.darn.old.age和
too.darn.old.age.int(第一个包括字段名,第二个包括字段类型)。这样做是为了方便开发人员在处理错误消息时使用。
关于 MessageCodesResolver 和默认策略的更多信息,可分别在
MessageCodesResolver 和
DefaultMessageCodesResolver 的 Javadoc 中找到。