3

laravel のカスタム検証を使用してこの例外が発生し続けていますが、その理由がわかりません。完全な例外メッセージは次のとおりです。

local.ERROR: exception 'ErrorException' with message 'Argument 2 passed to Illuminate\Validation\Factory::make() must be of the type array, object given, called in /home/vagrant/Code/Spark/my-project/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 223 and defined' in /home/vagrant/Code/Spark/my-project/vendor/laravel/framework/src/Illuminate/Validation/Factory.php:91

これが私のコードです:

$rules = array(
        'name' => 'required|max:255',
        'email' => 'required|email|max:255|unique:users',
        'password' => 'required|confirmed|min:6',
        'vat_id' => 'max:50|vat_id',
        'terms' => 'required|accepted',
        'address' => 'required|max:255',
        'city' => 'required|max:255',
        'state' => 'required',
        'contactName' => 'required',
        'phone' => 'numeric|required',
        'zip' => 'numeric|required',
    );

    $validator = Validator::make($request->all(), $rules);

今、私もこのように試してみましたが、同じ例外が発生しました:

    $validator = Validator::make($request->all(), [
        'name' => 'required|max:255',
        'email' => 'required|email|max:255|unique:users',
        'password' => 'required|confirmed|min:6',
        'vat_id' => 'max:50|vat_id',
        'terms' => 'required|accepted',
        'address' => 'required|max:255',
        'city' => 'required|max:255',
        'state' => 'required',
        'contactName' => 'required',
        'phone' => 'numeric|required',
        'zip' => 'numeric|required',
]);

私が知る限り、私はドキュメント(https://www.laravel.com/docs/5.2/validation#manually-creating-validators)に正確に従っており、配列を渡しています。laravelで何度も手動で検証を作成しましたが、この問題に遭遇したことはありません。これは私が本当に困惑しているので、別の目が簡単に拾うことができるかもしれない、私が間違っていることを明らかにしていることを願っています. どんな助けでも大歓迎です!違いがある場合は、Spark を使用しています。

編集: $rules を var_dump すると、次のようになります。

array (size=12)
'name' => string 'required|max:255' (length=16)
'email' => string 'required|email|max:255|unique:users' (length=35)
'password' => string 'required|confirmed|min:6' (length=24)
'vat_id' => string 'max:50|vat_id' (length=13)
'terms' => string 'required|accepted' (length=17)
'address' => string 'required|max:255' (length=16)
'city' => string 'required|max:255' (length=16)
'state' => string 'required' (length=8)
'contactName' => string 'required' (length=8)
'phone' => string 'numeric|required' (length=16)
'zip' => string 'numeric|required' (length=16)
4

0 に答える 0