

# 環境

  * Laravel6.0
  * php 7.3

# 困っていること

Laravelのバリデーションを日本語化したのですが、画像のように「nameは半角英数字を入力してください」とあります。

[![画像の説明をここに入力](https://i.stack.imgur.com/74SIf.png)](https://i.stack.imgur.com/74SIf.png)

ここを「アカウント名は半角英数字を入力してください」にしたいです。  
元々のバリデーションメッセージが「:attributeは半角英数字を入力してください」なので、ベタ書きで「アカウント名は半角英数字を入力してください」にすれば確かにメッセージは正しくなるのですが、これでは他で半角英数字のバリデーションをつかうことができません。

`:attribute`の部分を、バリデーションを使うごとに、日本語で自分の好きなように変更することってできないのでしょうか。

やり方がございましたら、教えていただきたいです。


CC BY-SA 4.0
2020-01-12T08:46:42.237
62187
2020-01-14T08:51:29.670
2020-01-12T08:55:17.790
32986
28993
question
php laravel
バリデーションメッセージの変更の仕方は何ですか？


ドキュメントによると

<https://laravel.com/docs/6.x/validation#customizing-the-validation-
attributes>

> If you would like the :attribute portion of your validation message to be
> replaced with a custom attribute name, you may specify the custom names by
> overriding the attributes method. This method should return an array of
> attribute / name pairs:

ということなので、作ったRequestsクラスに以下のような `attributes` メソッドをオーバーライドすればいいんじゃないでしょうか。

[code]

    /**
     * Get custom attributes for validator errors.
     *
     * @return array
     */
    public function attributes()
    {
        return [
            'name' => 'アカウント名',
        ];
    }
    
[/code]


CC BY-SA 4.0
2020-01-14T08:51:29.670
62233
2020-01-14T08:51:29.670
62
62187
answer