2017-04-12 1 views
1

Ich habe eine Form, die ich hoffe, um einige Daten in mysql einzufügen. Ich habe Setup der Validator wie dieseAnzeige von Laravel Fehlermeldungen auf Redirect

public function insert_post(){ 
     $rules = array(
      'model' => 'required', 
      'country' => 'required', 
      'engine' => 'required' 
       ); 

     $validator = Validator::make(Input::all(), $rules); 
     if ($validator->fails()) { 

      // get the error messages from the validator 
      $messages = $validator->messages(); 
      echo '<pre>'; 
      print_r($messages); 
      echo '</pre>'; 
      return Redirect::to('create-posts') 
       ->withErrors($validator); 
     } 
     else { 
      $i = new Text; 
      $i->model = request('model'); 
      $i->country = request('country'); 
      $i->engine = request('engine'); 
      $i->save(); 
      return redirect('/'); 
     } 
    } 

Meine create-posts Route wie folgt aussieht.

public function create_post(){ 
     return view('create-posts'); 
    } 

jedoch die Anzeige seiner nicht den Fehler, da ich ich denke, eine frische create-posts und die Validierer Nachrichten verloren gehen bin Laden.

Ansicht Code

<div class="form-group"> 
    <label for="inputEmail" class="control-label col-xs-2">Model</label> 
     <div class="col-xs-10"> 
      <input type="text" class="form-control" id="inputEmail" name="model" placeholder="Model"> 
      @if ($errors->has('model')) <p class="help-block">{{ $errors->first('model') }}</p> @endif 
      </div> 
     </div> 

Ist das, was die Ursache ist ?.

+0

Laravel Version 5.4 –

+0

Zugriff auf die Variable '$ errors' in den Ansichten? Können Sie den Ansichtscode posten? – linktoahref

+1

Würde es vorziehen, 'return Redirect :: back() -> withErrors ($ validator);' zu verwenden, versuchen Sie, die '$ errors 'Variable in der Ansicht zu drucken, um zu sehen, ob nicht gesetzt ist :) – Troyer

Antwort

2

Falls Sie zur letzten Ansicht zurückkehren möchten, können Sie:

return Redirect::back()->withErrors($validator);

Statt return Redirect::to('create-posts')->withErrors($validator);.