在Laravel中获取具有多个表单的页面上的错误

时间:2016-10-08 23:08:56

标签: laravel laravel-5

我正在使用Laravel 5.2(虽然更高版本的解决方案也可以)。

我有一个页面,其中包含登录页面和注册页面。

这些表单照常使用AuthController

我会像这样显示错误:

@if (count($errors) > 0)
    <div class="callout alert">
        <strong>Whoops! Something went wrong!</strong>
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

问题是,$errors变量没有说明错误来自哪种形式(即注册表单或登录表单中是否有错误?)。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

处理此问题的方法是返回Flash消息。在您的控制器中,您可以使用以下内容:

登录表格

public function postLogin() {
    // your code here
    return redirect('/login')->with('login', 'Enter valid details');
}

注册表格

public function signUp() {
    // your code here
    return redirect('/login')->with('signup', 'SignUp has been successful');
}

为了在视图中显示它们:

<div class="clearfix">
    @if(Session::has('login'))
        <div class="toast">
            {{ Session::get('login') }}
        </div>
    @endif              
</div>

<div class="clearfix">
    @if(Session::has('signup'))
        <div class="toast">
            {{ Session::get('signup') }}
        </div>
    @endif                  
</div>