目次

原因はカスタムバリデーション実装時のValidatorServiceProvider

結果から言うと、カスタムバリデーションを実装した際に、artisan コマンドで ValidatorServiceProvider クラスを生成してロードしていたのですが、ここの実装時にミスがありました。

$ artisan make:provider ValidatorServiceProvider

生成されたクラスの boot メソッドの中は、以下のように定義していたのですが、ここに attributes の配列が渡っていなかったのが原因です。

public function boot()
{
  $this->app->validator->resolver(function($translator, $data, $rules, $messages, $attributes) {
    return new CustomValidator($translator, $data, $rules, $messages, $attributes);
  });
}

取り急ぎで、参考例をコピペしてしまった典型的なミスですね。大反省です。

Tips記事一覧

新着記事一覧です。

関連記事一覧

「LaravelのRequestFormでattributesのオーバーライドが効かない」に関連した記事一覧です。