it-swarm.com.de

Wie kann ich mit alten Eingaben in Laravel umleiten?

Ich habe ein Login-Modal. Wenn die Benutzeranmeldung die Authentifizierung fehlschlägt, möchte ich mit folgendem Befehl zurück zu diesem Modal umleiten: 

  • fehlermeldungen)
  • und alte Eingaben.

enter image description here


Regler

// if Auth Fail 
return Redirect::to('/')
                ->with('error','Username/Password Wrong')
                ->withInput(Request::except('password'))
                ->withErrors($validator);

Bilden

{!! Form::open(array('url' => '/', 'class' => 'login-form')) !!}

  <div class="form-group">
    <label for="username">Username</label>
    <input type="text" class="form-control"  id="username" name="username" placeholder="Enter Username" required>
  </div>
  <div class="form-group">
    <label for="password">Password</label>
    <input type="password" class="form-control" id="password" name="password" placeholder="Enter Password" required>
  </div>
  <button type="submit" class="btn btn-primary">Login</button>

{!! Form::close() !!}

Wie Sie als Teil meines Bildes sehen können, scheint die Fehlermeldung zu erscheinen, aber die alte Eingabe des Benutzernamens scheint nicht zu füllen.

Kann mich bitte jemand korrigieren? Habe ich vergessen etwas zu tun? Was ist der effizienteste Weg in Laravel, um so etwas zu erreichen? 

13
kyo

Sie können auf die letzten Eingaben wie folgt zugreifen:

$username = Request::old('username');

Wie von @ Arian Acosta angedeutet, können Sie einfach tun

<input type="text" ... value="{{ old('username') }}" ... >.

Wie in docs beschrieben, ist es in einer Blade-Ansicht praktischer.


Es gibt verschiedene Möglichkeiten in der Steuerung:

Anstelle von ->withInput(Request::except('password'))

machen:

a) Input::flash();

oder:

b) Input::flashExcept('password');

und leite zur Ansicht weiter mit:

a) ->withInput(Input::except('password'));

bzw. mit:

b) ->withInput();

Die docs about Old Input zur weiteren Lektüre ...

26
toesslab

Ihnen fehlt der Wert auf Ihrem Eingabeelement ...

value="{{ Input::get ('username', '') }}"
2
Collin James

Für mein Projekt brauchte ich einen anderen Weg:

Geben Sie eine GET-Anforderung in die Validierungsrückgabe ein, um einige vorherige Daten abzurufen:

   // if the validator fails, redirect back to the form
    if ($validator->fails()) {
        //let's send some data back (Orlando,Florida):
        return Redirect::to('auth/register?city=Orlando&State=Florida')
            ->withErrors($validator)


    }else{
     //validation success
    }
0
Petro