コードをエラーメッセージに解決する

データバインディングと検証について説明しました。このセクションでは、検証エラーに対応するメッセージの出力について説明します。前のセクションに示した例では、name フィールドと age フィールドを拒否しました。MessageSource を使用してエラーメッセージを出力したい場合は、フィールド (この場合は "name" と "age" ) を拒否するときに提供するエラーコードを使用して出力できます。Errors インターフェースから rejectValue または他の reject メソッドの 1 つを (直接的または間接的に、たとえば ValidationUtils クラスを使用して) 呼び出すと、基になる実装は渡されたコードを登録するだけでなく、多数のコードも登録します。追加のエラーコード。MessageCodesResolver は、Errors インターフェースがどのエラーコードを登録するかを決定します。デフォルトでは、DefaultMessageCodesResolver が使用されます。これにより、(たとえば) 指定したコードでメッセージが登録されるだけでなく、reject メソッドに渡されたフィールド名を含むメッセージも登録されます。rejectValue("age", "too.darn.old") を使用してフィールドを拒否すると、too.darn.old コードとは別に、Spring は too.darn.old.age および too.darn.old.age.int も登録します (最初のフィールドにはフィールド名が含まれ、2 番目のフィールドにはフィールドの型が含まれます)。これは、開発者がエラーメッセージをターゲットにする際の便宜を図るために行われます。

MessageCodesResolver およびデフォルト戦略の詳細は、それぞれ MessageCodesResolver (Javadoc) および DefaultMessageCodesResolver (Javadoc) の javadoc にあります。