それは単純な問題のはずですが、簡単な解決策を見つけることができませんでした。
Spring Message Resource を使用して、システム上のすべてのテキストを .properties ファイルから提供しています。国際化の質問のためにそれが必要で、Spring のデフォルト メッセージを使用できません。
問題は次のとおりです。
.properties ファイルに次の行があります。
validator_invalid_state_name=Invalid name ({min}, {max})
検証コードは次のとおりです。
@Size( min=3, max=5, message="validator_invalid_state_name" )
public String name;
ただし、無効な値がフィールドに送信されると、メッセージは次のようになります。
「無効な名前 ({min}, {max})」であり、「無効な名前 (3, 5)」ではありません。
いくつかの解決策を試しましたが、成功しませんでした。たとえば、次のとおりです。
@Size( min=3, max=5, message="{validator_invalid_state_name}" )
@Size( min=3, max=5, message="${validator_invalid_state_name}" )
@Size( min=3, max=5, message="Size.name" ) // with "Size.name=Invalid name ({min}, {max})" in my .properties file
@Size( min=3, max=5, message="{Size.name}" ) //idem
しかし、私が使用する場合
@Size( min=3, max=5 )
次に、Spring からデフォルトのメッセージを取得します (これは使用したくありません)。必要なことは非常に単純です。カスタム .properties ファイルから独自のメッセージを使用しますが、@Size アノテーションによって提供されるパラメーターを使用します。
助言がありますか?
前もって感謝します。