Laravel5.7 バリデーションのエラーメッセージをカスタマイズ

Laravel5.7 バリデーションのエラーメッセージをカスタマイズしたいと思います。
複雑なことやってんのかな? いえ、こんなに奇怪なことはやってません。

まず、app/Http/Requests 配下にフォームリクエストのCompanyRequest.phpがあります。

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class CompanyRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'company_name' => 'required',
            'agent_name' => 'required',
        ];
    }
}

この状態だと、fieldの値がnullだと、「The ${value} field is required.」とアラートメッセージが表示されます。

公式ドキュメントバリデーション(https://readouble.com/laravel/5.7/ja/validation.html)のページ中段にあるエラーメッセージのカスタマイズを実装します。
public function rulesの下、overrideするメッセージを書きます。
適当に日本語で、「会社名を入力してください」「代理店名を入力してください」としておきましょう。

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class CompanyRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            'company_name' => 'required',
            'agent_name' => 'required',
        ];
    }
    public function messages()
    {
        return [
            'company_name.required' => '会社名を入力してください',
            'agent_name.required' => '代理店名を入力してください',
        ];
    }
}

日本語で表示されるようになりました。

おお、割と簡単だった。