2016-07-09 1 views
0

Ich brauche Hilfe, um mit der Validierung der benutzerdefinierten Anforderungsklasse zu validieren, aber da mein Controller ein Ressourcen-Controller ist, kann ich die benutzerdefinierte Anforderungsklasse nicht als Parameter hinzufügen. Haben Sie Ideen, wie Sie eine benutzerdefinierte Anforderungsvalidierung vom Ressourcen-Controller aufrufen können? Aufruf der benutzerdefinierten Anforderungsüberprüfung vom Ressourcen-Controller

Dies ist der Weg zu meinem Resource Controller

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

Und das ist meine Kundenanfrage Klasse

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', 
     ]; 
    } 
} 

Und das ist meine Ressourcensteuerung:

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

GELÖST

Wenn Sie den individuellen Wunsch mit PHP Handwerker die authorise Funktion erstellen kehrt falsch und wir müssen true zurück, wenn wir angemeldet sind:

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

Antwort

0

GELÖST

Wenn Sie den individuellen Wunsch erstellen Handwerker die authorise Funktion falsch mit PHP zurückkehrt und wir müssen true zurück, wenn wir angemeldet sind:

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

Sie müssen nur die Anforderung an Typ-Tip (CustomerRequest) auf Ihre Controller-Methode (store()).

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

versuchte ich es früher, Es gibt eine verbotene Seite zurück! aber ich kann type-thin 'public function store (Anfrage $ Anfrage)' – theMohammedA

+0

sind Sie als Benutzer eingeloggt? –

+0

Ja, ich bin angemeldet, ich habe auch versucht, '$ this-> middleware ('auth');' und authrize() zu deaktivieren. Das Problem ist, dass dies ein Ressourcen-Controller ist, in einem normalen Controller funktioniert der Typ-Hinweis perfekt. – theMohammedA