Laravel - 使用输入形式返回

时间:2017-07-29 17:17:58

标签: forms laravel

我正在用laravel做一个登录表单。我想要的是验证POST值,如果它没问题,那么重定向到dashborad。如果没有,请使用输入重定向。这是我的登录表单:

        <form method="post" autocomplete="off">
            <input type="hidden" name="_token" value="{{ csrf_token() }}">
            <div class="form-group">
                <label for="email">Adresse courriel:</label>
                <input type="email" class="form-control" id="email" name="email" required>
            </div>
            <div class="form-group">
                <label for="password">Mot de passe:</label>
                <input type="password" class="form-control" id="password" name="password" required>
            </div>
            <button type="submit" class="btn btn-aqua">Se connecter</button>
        </form>

这是我的AuthController功能:

public function postLogin(Request $request){

     Log::info('Showing user profile for user: '.$request);


    if (Auth::attempt(['email' => $request->email, 'password' => $request->password])) {
        return redirect()->route('/admin/dashboard');
    }

    return redirect()->back()->withInput(Input::all());
}

当它重定向时,我的输入会被填充。

1 个答案:

答案 0 :(得分:4)

Laravel实现了一个old()函数,如果提交的表单有错误,它会返回输入数据:

<form method="post" autocomplete="off">
    <input type="hidden" name="_token" value="{{ csrf_token() }}">
    <div class="form-group">
        <label for="email">Adresse courriel:</label>
        <input type="email" class="form-control" id="email" name="email" required value="{{ old('email') }}">
    </div>
    <div class="form-group">
        <label for="password">Mot de passe:</label>
        <input type="password" class="form-control" id="password" name="password" required>
    </div>
    <button type="submit" class="btn btn-aqua">Se connecter</button>
</form>

我强烈建议不要带回密码。我知道这很烦人,但更安全的imo。

更多信息:https://laravel.com/docs/5.4/requests#old-input