0
0

More than 3 years have passed since last update.

バリデーションのメッセージ カスタマイズしてみた

Posted at

バリデーションのメッセージカスタマイズ

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とドット区切りで指定すると、メッセージのみ変更可能でした。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0