2015-10-14 56 views
8

我與Laravel每一次工作,我提出我的形式,它給了我這個錯誤:Laravel - 表單驗證錯誤 - 參2必須是陣列

ErrorException在Factory.php線91: 參數傳遞給2 Illuminate \ Validation \ Factory :: make()必須是給定的null類型的數組,在83行調用/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php並定義爲

這是控制器的一些代碼,即使當我不試圖發送數據到數據庫時,它也會給我這個錯誤。 (現在它只是重定向)

public function store(StoreProjectRequest $request) 
{ 


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

} 

這是我如何定義我的路線:

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

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

錯誤是指該行是什麼是在返回段位置:

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() 
    ); 
} 

誰能幫我?謝謝!

+0

你需要發佈你的'Validator :: make()'代碼。確保第一個參數是輸入數組,例如:'$ request-> all()',第二個參數是你的規則數組,例如:'['email'=>'required | email'...]' –

+0

謝謝發佈這個問題! – Simer

+0

我有一個產生完全相同的錯誤框架的部分安裝。我再次複製所有文件(恢復丟失的文件),然後問題就消失了。 –

回答

11

問題在於你的StoreProjectRequest和它的rules()方法。它應該返回數組,並且在你的代碼中它可能會返回其他東西。請檢查它。

+0

你救了我的一天馬克西姆。新手爲laravel。萬分感謝!!!由於錯誤,我刪除了返回語句,因爲它給出了錯誤。 – Simer

+0

它爲我工作... – Cholowao