ログインモーダルがあります。ユーザーのログインが認証に失敗した場合、このモーダルにリダイレクトして戻したい:
// if Auth Fail
return Redirect::to('/')
->with('error','Username/Password Wrong')
->withInput(Request::except('password'))
->withErrors($validator);
{!! 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() !!}
私の画像の一部として見ることができるように、エラーメッセージが表示されるように見えますが、ユーザー名の古い入力は移入していないようです。
誰かが私を修正してもらえますか?何もするのを忘れましたか? Laravelこのようなことを達成するための最も効率的な方法は何ですか?
次のように最後の入力にアクセスできます。
$username = Request::old('username');
@ Arian Acosta で指摘されているように、単純に
<input type="text" ... value="{{ old('username') }}" ... >
。
docs で説明されているように、ブレードビューではより便利です。
コントローラーにはいくつかの可能性があります。
->withInput(Request::except('password'))
の代わりに
行う:
a)Input::flash();
または:
b)Input::flashExcept('password');
そして、次のようにビューにリダイレクトします:
a)->withInput(Input::except('password'));
それぞれで:
b)->withInput();
旧入力に関するドキュメント さらに読むには...
入力要素の値が欠落しています...
value="{{ Input::get ('username', '') }}"
私のプロジェクトでは、別の方法が必要でした:
以前のデータを取得するために、検証戻りでGET
要求を突き出します。
// 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
}