2016-04-20 4 views
4

Dieser Codeabschnitt funktionierte vor ein paar Tagen, aber ich habe etwas getan, damit es zu brechen.Laravel Validierung: Aufruf an eine Member-Funktion fehlschlägt() auf Null

Ich habe diese Route:

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

die wie folgt aussieht:

public function addRoute(Request $request) { 
     if(Auth::check()) { 
      $rules = [ 
       'flightDep' => 'required', 
       'flightArr' => 'required', 
       'flightDepTime' => 'required', 
       'flightArrTime' => 'required', 
      ]; 

      $messages = [ 
       'flightDep.required' => 'A departure ICAO is required', 
       'flightArr.required' => 'An arrival ICAO is required', 
       'flightDepTime.required' => 'A departure time is required', 
       'flightArrTime.required' => 'An arrival time is required' 
      ]; 


      $validator = $this->validate($request, $rules, $messages); 

      if($validator->fails()) { 
       return redirect('admin/routemanagement')->withErrors($validator)->withInput(); 
      } 
    } 

jedoch, wenn dieser Code ausgeführt wird, die $validator Variable endet null aus irgendeinem Grund, und ich erhalte die folgende :

Call to a member function fails() on null

+0

'$ request :: all()' – aldrin27

Antwort

2

Aus der Laravel-Dokumentation:

"... wenn die Validierung fehlschlägt, wird automatisch die richtige Antwort generiert. . Wenn die Validierung geht, werden unsere Controller normalerweise ausführt“(https://laravel.com/docs/5.2/validation)

Also hier der folgende Code ist nicht erforderlich:

if($validator->fails()) { 
      return redirect('admin/routemanagement')->withErrors($validator)->withInput(); 
     } 

Laravel reagiert automatisch, wenn die Validierung fehlschlägt, und wenn es gelingt, dann den Rest Code wird normal ausgeführt

Verwandte Themen