【发布时间】:2017-09-11 12:30:59
【问题描述】:
我正在使用 Laravel 5 构建一个简单的登录表单,我想在发生错误时默认填写一些输入。 我的路由器按照给定的方式调用这些函数
Route::get('/login','AuthController@login');
Route::post('/login','AuthController@do_login');
我的控制器如下所示
namespace App\Http\Controllers;
use App;
use App\Models\User;
use Request;
use Illuminate\Support\Facades\Redirect;
class AuthController extends Controller {
function login()
{
if(User::check())
{
/*User is logged, then cannot login*/
return Redirect::back();
}
else
{
return view('auth.login');
}
}
function do_login()
{
return view('auth.login')->withInput(Request::except("password"));
}
}
注意到 PhpStorm 正在强调 withInput 表示在 Illuminate\View\View 中找不到它的实现。 在我看来,我有以下几点:
{!! Form::open() !!}
<div class="form-group">
{!! Form::text('email', Input::old('email'), array('placeholder' => Lang::get('auth.email'), 'class' => 'form-control')) !!}
</div>
<div class="form-group">
{!! Form::password('password', array('placeholder' => Lang::get('auth.password'),'class'=>'form-control')) !!}
</div>
<div class="form-group">
<button class="btn btn-primary btn-block">@lang('auth.signin')</button>
<span class="pull-right"><a href="/{{App::getLocale()}}/register">@lang('auth.register')</a></span>
</div>
<input type="email" class="form-control" name="email" value="{{ old('email') }}">
{!! Form::close() !!}
我在这里缺少什么?这可以在 Laravel 5 中完成吗? 非常感谢您的宝贵时间!
【问题讨论】:
-
只是一个建议,但由于您使用 Laravel 5,您还应该考虑使用中间件的机制,至少对于您的身份验证检查。 Laravel 默认带有非常有用的 auth/guest 中间件:laravel.com/docs/5.0/middleware