Laravel内容双重重定向

时间:2014-10-27 03:19:21

标签: validation redirect laravel input

我是laravel的新手,我对某些代码感到有点困惑。 我正在努力验证注册表格。 问题是提交表单后输入消失了(是的,我正在使用 - >输入)。 我从routes.php重定向到控制器,然后我重定向回到视图但输入消失了。

UserController中:

public function store()
{
    $input = Input::all();

    if( ! $this->user->fill($input)->isValid())
    {
        return Redirect::back()->withInput()->withErrors($this->user->messages)->with('action', 'register');
    }
    //$this->user->save();

}

routes.php文件

Route::filter('checkLogin', function()
{


if(Input::GET('email') != ""){ //register

    return Redirect::to('register')->withInput();

}
});


Route::post('/login', ['before'=>'checkLogin', 'uses'=>'SessionsController@store', 'as' =>      'sessions.store']); //login
Route::get('logout', 'SessionsController@destroy');
Route::get('register', 'UsersController@store');

查看

                    {{ Form::open(['url'=>'login', 'files'=>true, 'class' => 'compact form', 'id' => 'register']) }}
                    {{ Form::checkbox('register', 'register', false, ['id' => 'openRegister']) }}
                    <div class="heading">
                        <h2 class="login">Login</h2>
                        <h2 class="register">{{ HTML::decode(Form::label('openRegister', '<i class="fa fa-chevron-left"></i>')) }} Sign Up</h2>
                    </div>
                    @if ($loginError = Session::pull('loginError'))
                    <div class="errors">
                        <p class="error">{{ $loginError }}</p>
                    </div>
                    @endif
                    <div class="fields">
                        <div class="field">
                            <i class="fa fa-user"></i>
                            {{ Form::text('username', null, ['placeholder' => 'Username', 'tabindex' => 1]) }}
                            {{ $errors->first('username') }}

                        </div>
                        <div class="field">
                            <i class="fa fa-lock"></i>
                            {{ Form::password('password', ['placeholder' => 'Password', 'tabindex' => 2]) }}
                            <a href="forgot" class="fa fa-question-circle login" title="Forgot Password?"></a>
                            {{ $errors->first('password') }}
                        </div>
                    </div>

                    <section class="login">
                        <div class="switches">
                            <div class="switch text-right">
                                {{ Form::checkbox('rememberme', 'rememberme', true, ['id' => 'rememberme', 'tabindex' => 3]) }}
                                {{ Form::label('rememberme', 'Remember Me') }}
                            </div>
                        </div>
                        <div class="buttons">
                            <div class="button">
                                {{ Form::submit('Login', ['tabindex' => 4]) }}
                            </div>
                        </div>
                        <div class="text login">
                            <p>Don't have an account yet? {{ Form::label('openRegister', 'Sign up!', ['class' => 'link']) }}</p>
                        </div>
                    </section>

                    <section class="register">
                        <div class="fields">
                            <div class="group">
                                <div class="field">
                                    {{ Form::text('fname', null, ['placeholder' => 'First Name', 'tabindex' => 5]) }}
                                    {{ $errors->first('fname') }}
                                </div>
                                <div class="field">
                                    {{ Form::text('lname', null, ['placeholder' => 'Last Name', 'tabindex' => 6]) }}
                                    {{ $errors->first('lname') }}
                                </div>
                            </div>
                            <div class="field">
                                {{ Form::email('email', null, ['placeholder' => 'email@example.com', 'tabindex' => 7]) }}
                                {{ $errors->first('email') }}
                            </div>
                            <div class="field">
                                {{ Form::text('adress', null, ['placeholder' => 'Adress Line 1', 'tabindex' => 8]) }}

                            </div>
                            <div class="field">
                                {{ Form::text('adress2', null, ['placeholder' => 'Adress Line 2', 'tabindex' => 9]) }}
                                {{ $errors->first('adress') }}
                            </div>
                            <div class="field">
                                {{ Form::text('city', null, ['placeholder' => 'City', 'tabindex' => 10]) }}
                                {{ $errors->first('city') }}
                            </div>
                            <div class="group group-l-s">
                                <div class="field">
                                    {{ Form::text('state', null, ['placeholder' => 'State / Province / Region', 'tabindex' => 11]) }}
                                    {{ $errors->first('state') }}
                                </div>
                                <div class="field">
                                    {{ Form::text('zip', null, ['placeholder' => 'Postal Code', 'tabindex' => 12]) }}
                                    {{ $errors->first('zip') }}
                                </div>
                            </div>
                            <div class="select">
                                {{ Form::select('country', $countries, $country, ['tabindex' => 13]) }}
                                {{ $errors->first('country') }}
                            </div>
                            <div class="field">
                                {{ Form::text('phone', null, ['placeholder' => 'Phone Number', 'tabindex' => 14]) }}
                                {{ $errors->first('phone') }}
                                <small>(optional)</small>
                            </div>
                        </div>
                        <div class="buttons">
                            <div class="button">
                                {{ Form::submit('Sign Up', ['tabindex' => 15]) }}
                            </div>
                        </div>
                    </section>
                {{ Form::close() }}

1 个答案:

答案 0 :(得分:0)

我没有得到输入的原因是因为我使用了get而不是post。但是通过将其更改为帖子我会得到其他错误。所以我刚刚删除了Route :: FIlter并在js中定义了动作。现在我的routes.php看起来像这样:

Route::get('/', 'HomeController@showWelcome');

Route::get('/profile/{username}', 'UsersController@show');


Route::post('/login', ['uses'=>'SessionsController@store', 'as' => 'sessions.store']); //login
Route::post('/register', ['uses'=>'UsersController@store', 'as' => 'users.store']); //register

Route::get('logout', 'SessionsController@destroy');
Route::get('credits',function(){
return View::make('credits')->with('credits', 'credits');
});