バリデーションのメッセージカスタマイズ
validation.phpの中エラーメッセージを変更せずに、オリジナルのバリデーションメッセージを
設定してバリデートメッセージを出せたので記事にしました。
基本的には英語ですが、validation.phpの中に設定されています。
日本語版は下記から確認できます。
https://readouble.com/laravel/5.6/ja/validation-php.html
一部ですが、こんな感じでバリデーションメッセージが設定されています。
attributeは好きなように設定できます。
'required'=> ':attributeは必須です。',
'unique' => ':attributeは既に存在します。',
'attributes' => [
'first_name'=>'姓名',
'last_name'=>'姓名',
]
下記のようにバリデーションを設定できます。
このように設定すると、first_name、last_nameが空欄の場合、
姓名は必須です。などとエラーメッセージが出力されます。
public function rules()
{
return [
'first_name' => 'required',
'last_name' => 'required',
];
}
例えば、他のbladeではattributeは必要です。としたい場合、
'required'=> ':attributeは必要です。',
上記のように変えてあげればよいのですが、そうすると先程のエラーメッセージも変わってしまいます。
ここのページだけメッセージを変えるということができるのです。
結論、messages()メソッドを設定できます。
下記のように設定してあげると、実現できます。
public function messages()
{
return [
'first_name.required' => ':attributeは必要です。'
'last_name.required' => ':attributeは必要です。'
];
}
まとめ
messages()メソッドを追加して、first_name.requiredとドット区切りで指定すると、メッセージのみ変更可能でした。