2015-10-14 6 views
8

でなければならない私はLaravelで働いていると私は自分のフォームを送信するたびに、それは私にこのエラーを与える:Factory.php線91でLaravel - フォーム検証エラー - 引数2は、配列

ErrorException: 引数2に渡さをIlluminate \ Validation \ Factory :: make()はarray型でなければなりません。与えられたnullは、/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.phpの83行目で呼び出され、

と定義されていなければなりません

これは私がこのエラーを与えるデータベースにデータを送信しようとしないときでも、コントローラのいくつかのコードです。

protected function getValidatorInstance() 
{ 
    $factory = $this->container->make('Illuminate\Validation\Factory'); 

    if (method_exists($this, 'validator')) { 
     return $this->container->call([$this, 'validator'], compact('factory')); 
    } 

    return $factory->make(
     $this->all(), $this->container->call([$this, 'rules']), $this->messages(), $this->attributes() 
    ); 
} 

Route::get('/projects','[email protected]'); 
Route::get('/create','[email protected]'); 

Route::post('/create','[email protected]'); 

エラーが参照するラインがここに戻りセクションにあるものであるために:

public function store(StoreProjectRequest $request) 
{ 


    return Redirect::to('/index'); 

} 

これは私が私のルートを定義した方法である(今はちょうどリダイレクトです)誰でも助けてくれますか?ありがとうございました!

+0

'Validator :: make()'のコードを投稿する必要があります。最初のパラメータが '$ request-> all()'のような入力配列であることを確認し、2番目のパラメータがルール配列であることを確認してください: '['email' => 'required | email' ...]' –

+0

ありがとうこの質問を投稿するために! – Simer

+0

私はフレームワークを部分的にインストールしましたが、これはまったく同じエラーを生成しました。すべてのファイルをもう一度コピーして(不足しているファイルを復元して)、問題が解決しました。 –

答えて

11

問題はStoreProjectRequestにあり、それはrules()の方法です。それは配列を返す必要があり、あなたのコードでおそらく何か他のものを返します。それを確認してください。

+0

あなたは私の日のマキシムを保存しました。初心者のための初心者。ありがとう、トン!誤って、エラーを出していたのでreturn文を削除しました。 – Simer

+0

それは私のためにworkd ... – Cholowao

関連する問題