プログラミング逆引き辞典

~ 多言語対応のプログラミングレシピ ~

SpringBoot入門 vol.12:message.propertiesでエラーメッセージを管理しよう

前章のSpring Boot入門 vol.11:データバインドで画面とフィールドをマッピングしようでバリデーションチェック時のエラーメッセージを表示した
 
但し、英語のデフォルトメッセージとなっているのでこの章で日本語のエラーメッセージに変換する
 
尚、エラーメッセージはmessage.propertiesファイルを作成し、そのファイルに記述する
 
 

①message.propertiesファイルを作成

格納場所:src/main/resources
 

 
 


②message.propertiesにエラーメッセージを記述

#ポイント1
customerForm.name=名前
#ポイント2
NotBlank.customerForm.name={0}は入力必須です
Size.customerForm.name={0}は{2}文字以上、{1}文字以下で入力してください

customerForm.email=メールアドレス
Size.customerForm.email={0}は{1}文字以下で入力してください

 

【ポイント】

1.モデルオブジェクトの属性名.フィールド名=表示名
例)customerForm.name=名前
 
2.アノテーション名.モデルオブジェクトの属性名.フィールド名=エラーメッセージ
{0}はポイント1で設定した表示名となる
 
例)
NotBlank.customerForm.name={0}は入力必須です
⇒名前は入力必須です
 
Size.customerForm.name={0}は{2}文字以上、{1}文字以下で入力してください
⇒名前は1文字以上、20文字以下で入力してください
 
{1}{2}…はパラメーターの昇順で格納される
CustomerFormの「nameフィールド」には下記アノテーションを設定しているので「max」→「min」の順で格納される
【@Size(min = 1, max = 20)】
{1}:20(maxの値)
{2}:1(minの値)
 
 
尚、Eclipseでファイルを開く時は下記方法で開かないと文字化けするので注意
・ファイルの開き方
「messages.properties」を右クリック⇒「次で開く」⇒「Limy プロパティー・エディター」
 
 

【エラーメッセージを確認】

顧客登録画面で下記内容を入力して登録ボタンを押下
・名前:空欄
・メールアドレス:101文字以上
 

 
 


③メッセージの外国語対応

ブラウザの言語設定でエラーメッセージを切り替える設定
例えば英語の場合は「messages_en.properties」を作成し、内容を記述すればよい
 
格納先:src/main/resources/messages_en.properties
 

#ポイント1
customerForm.name=Name
#ポイント2
NotBlank.customerForm.name={0} is required
Size.customerForm.name={0} must be at least {2} and no more than {1} characters

customerForm.email=Email
Size.customerForm.email=Please enter an {0} address of {1} characters or less

 

【エラーメッセージを確認】

顧客登録画面で下記内容を入力して登録ボタンを押下
※ブラウザの言語設定は英語に変更しておくこと
・名前:空欄
・メールアドレス:101文字以上
 

 
エラーメッセージが英語になっていることを確認
 
 


前へ次へ
 
目次へ戻る