2016-07-09 65 views
0

我需要幫助來驗證使用自定義請求類驗證,但由於我的控制器是資源控制器,我無法將自定義請求類添加爲參數。任何想法如何從資源控制器調用自定義請求驗證?從資源控制器調用自定義請求驗證

這是我的資源控制器

Route::resource('customers', 'CustomerController'); 

的路線,這是我的客戶請求類

class CustomerRequest extends Request 
{ 
    //... 
    public function rules() 
    { 
     return [ 
      'customer_type'=>'required|', 
      'customer_vendor'=>'required|', 
      'customer_name'=>'required|', 
      'company_name'=>'required_if:customer_type,Company', 
      'job_position'=>'required|', 
      'street'=>'', 
      'city'=>'required|', 
      'country'=>'required|', 
      'website'=>'url', 
      'phone'=>'required_unless:mobile|', 
      'mobile'=>'required_unless:phone|', 
      'email'=>'email', 
     ]; 
    } 
} 

這是我的資源控制器:

class CustomerController extends Controller 
{ 
    // .... 
    // Add Customer 
    public function store() 
    { 
     //how do i call custom request validation here 

     return view('create_views/new_customer',['title' => 'New Customer','nav_links'=>CustomerController::$Links]); 
    }  
} 

解決

當您使用PHP工匠的授權功能自定義請求返回false,我們需要返回true,如果我們在登錄:

public function authorize() 
{ 
    return false;//should be return true; 
} 

回答

0

解決

當您使用PHP工匠的授權功能自定義請求返回false,我們需要返回true,如果我們在登錄:

public function authorize() 
{ 
    return false;//should be return true; 
} 
2

你只需要鍵入-暗示的請求(CustomerRequest)你的控制器方法(store())。

public function store(CustomerRequest $request) 
{ 
    return view('create_views/new_customer',['title' => 'New Customer','nav_links'=>CustomerController::$Links]); 
} 
+0

我試了一下之前,它返回一個禁止頁面!但我可以鍵入提示'公共功能存儲(請求$請求)' – theMohammedA

+0

您是否以用戶身份登錄? –

+0

是的,我登錄了,我也嘗試禁用'$ this->中間件('auth');'和authrize()。問題是這是一個資源控制器,在常規控制器中,type-hint完美工作。 – theMohammedA

相關問題