

Spring WebのValidation機能を使っています。  
エラーメッセージにフィールド名を含めたくて、以下のように実装しています。

## MyForm.java

[code]

    import javax.validation.constraints.NotEmpty;
    ...略...
    MyForm{
        /** 名前 */
        @NotEmpty()
        private String name;
    }
    
[/code]

## message.properties

[code]

    javax.validation.constraints.NotEmpty.message = {0}を入力してください
    
[/code]

MyForm.nameが空の場合、「{0}を入力してください」というメッセージが出てきてしまうのですが、{0}部分をフィールド名の「名前」に置換したいです。

message.propertiesに「name=名前」や「MyForm.name=名前」を定義してもダメでした。

置換するにはどうしたらいいですか？

Spring Boot 2.6.9を使用しています。


CC BY-SA 4.0
2022-07-14T14:02:04.953
89982
2023-04-19T01:06:00.740
2022-07-14T20:12:30.047
2808
53535
question
java spring spring-boot
Spring WebのValidationエラーで{0}をフィールド名に置換したい


問題を再現するコードを記載する必要がありそうです。  
私の手元のコードでは想定通り動作しています。

`messages.properties`へ

[code]

    javax.validation.constraints.NotEmpty.message={0}を入力してください
    name=名前
    
[/code]

を追加することにより、期待通り `"名前を入力してください"` が出力されます。

  * [サンプル実装コード](https://github.com/yukihane/stackoverflow-qa/tree/main/jaso89982)
    * [公式チュートリアル](https://spring.io/guides/gs/validating-form-input/)の[コード](https://github.com/spring-guides/gs-validating-form-input)をベースにして作成

[`messages.properties`](https://github.com/yukihane/stackoverflow-
qa/compare/166e8845...a929b52c483)が有る状態と無い状態、`name`プロパティ設定が有る場合無い場合、それぞれで挙動を確認してみてください。


CC BY-SA 4.0
2022-07-14T20:12:17.640
89984
2022-07-15T00:52:35.683
2022-07-15T00:52:35.683
2808
2808
89982
answer