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' => '代理店名を入力してください',
];
}
}
日本語で表示されるようになりました。

おお、割と簡単だった。
