注册和登录表单在一个页面在laravel 5.3


Register and Login form in one page in laravel 5.3

我正在创建一个页面,其中有注册和登录在一个页面。
我的代码看起来像这样

<div class="w3-display-container w3-white">
    <div style="white-space:nowrap;" class="container">
        <h2>Already have an account?</h2><hr>
        <div class="col-md-8 col-md-offset-2 w3-margin-bottom">
            {!! Form::open(['route' => 'login', 'method' => 'POST']) !!}
                <div class="form-group {{ $errors->has('email') ? 'has-error has-feedback' : '' }}">
                    {{ Form::label('email', 'Enter Your Email...', ['class' => 'control-label']) }}
                    {{ Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'email...', 'value' => old('email')]) }}
                    <span class="{{ $errors->has('email') ? 'glyphicon glyphicon-remove form-control-feedback' : '' }}"></span>
                </div>
                <div class="form-group {{ $errors->has('password') ? 'has-error has-feedback' : '' }}">
                    {{ Form::label('password', 'Enter Your Password...', ['class' => 'control-label']) }}
                    {{ Form::password('password', ['class' => 'form-control', 'placeholder' => 'password...']) }}
                    <span class="{{ $errors->has('password') ? 'glyphicon glyphicon-remove form-control-feedback' : '' }}"></span>
                </div>
                {{ Form::submit('Log in', ['class' => 'btn btn-success w3-margin-top']) }}
            {!! Form::close() !!}
        </div>
    </div>
</div>
<div class="w3-display-container w3-white">
    <div style="white-space:nowrap;" class="container">
        <h2>New Here?</h2><hr>
        <div class="col-md-8 col-md-offset-2 w3-margin-bottom">
            {!! Form::open(['route' => 'register']) !!}
                <div class="form-group {{ $errors->has('name') ? 'has-error has-feedback' : '' }}">
                    {{ Form::label('name', 'Username...', ['class' => 'control-label']) }}
                    {{ Form::text('name', null, ['class' => 'form-control', 'placeholder' => 'username...']) }}
                    <span class="{{ $errors->has('name') ? 'glyphicon glyphicon-remove form-control-feedback' : '' }}"></span>
                </div>
                <div class="form-group {{ $errors->has('email') ? 'has-error has-feedback' : '' }}">
                    {{ Form::label('email', 'Email...', ['class' => 'control-label']) }}
                    {{ Form::email('email', null, ['class' => 'form-control', 'placeholder' => 'email...']) }}
                    <span class="{{ $errors->has('email') ? 'glyphicon glyphicon-remove form-control-feedback' : '' }}"></span>
                </div>
                <div class="form-group {{ $errors->has('password') ? 'has-error has-feedback' : '' }}">
                    {{ Form::label('password', 'Password...', ['class' => 'control-label']) }}
                    {{ Form::password('password', ['class' => 'form-control', 'placeholder' => 'passsword...']) }}
                    <span class="{{ $errors->has('password') ? 'glyphicon glyphicon-remove form-control-feedback' : '' }}"></span>
                </div>
                <div class="form-group {{ $errors->has('password') ? 'has-error has-feedback' : '' }}">
                    {{ Form::label('password_confirmation', 'Confirm Password...', ['class' => 'control-label']) }}
                    {{ Form::password('password_confirmation', ['class' => 'form-control', 'placeholder' => 'confirm password...']) }}
                    <span class="{{ $errors->has('password') ? 'glyphicon glyphicon-remove form-control-feedback' : '' }}"></span>
                </div>
                {{ Form::submit('Sign Up', ['class' => 'btn btn-success w3-margin-top']) }}
            {!! Form::close() !!}
        </div>
    </div>
</div>

我使用bootstrap和w3schools作为样式。

我得到的问题是,当我提交任何一个表单与空输入它给我错误在两个表单。
也就是说(例如),当我提交带有空电子邮件和密码字段的登录表单时,登录表单和注册表单中的错误显示该字段为空。
我如何修复它?我想用不同的方式来显示错误。
如果对我的代码有任何疑问或问题,请在下面评论。

我甚至看了这个帮助,但它是laravel 5.2, laravel 5.3有不同的认证路由系统

那是因为你在它们两个上都显示了错误{{ $errors->has('email') ? 'has-error has-feedback' : '' }}该代码字符串在注册和登录表单中,因此错误将在它们两个上显示。

一个解决方案是使用PHP &jQuery/JavaScript,这样你可以完全自定义错误等。这需要更长的时间,也更困难一些但这是可行的