Laravel5.3 認証時のエラーメッセージを日本語化する
Laravel5.3
の認証時(特に新規ユーザ登録時)のエラーメッセージを日本語化したときのメモです。
エラーメッセージの日本語化
例えばメールアドレス(必須項目)を未入力の状態で新規ユーザ登録をしようとしても「The email field is required.」というエラーメッセージが表示されます。
これをまずは日本語が表示されるようにします。
エラーメッセージはresource/lang/en/validation.php
から表示しています。
日本語のエラーメッセージを使用するために、resource/lang/ja
のフォルダを作成し、日本語のエラーメッセージファイル(validation.php
)を作成します。
日本語のメッセージファイルを参照するように、app/config/app.php
を以下のように修正します。
// 'locale' => 'en',
'locale' => 'ja',
この状態でエラーメッセージは「emailは必須項目です。」のように、ja/validation.php
で定義したメッセージに変更することができます。
項目名称を変更
「emailは必須項目です。」の「email」を「メールアドレス」になるように変更します。
ResisterController.php
のvalidator
を以下のように修正します。
//変更前
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
]);
//変更後
$validator = Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|email|max:255|unique:users',
'password' => 'required|min:6|confirmed',
]);
$validator->setAttributeNames(array(
'name' => 'ユーザ名',
'email' => 'メールアドレス',
'password' => 'パスワード',
));
return $validator;
これでエラーメッセージが「メールアドレスは必須項目です。」となり、日本語化がされました。