首页 文章

Laravel中的前端错误显示架构

提问于
浏览
0

所以我在Laravel 5应用程序中进行错误处理,特别是前端部分,用户将看到发生了一些错误 .

我有一个简单的错误显示页面的想法,它会收到错误并在浏览器中显示给用户 . (可能是一个带有错误代码的变量,另一个带有描述)

所以,也许一个例子就是创建一个函数

public function displayErrors($errors){
    return view('auth.activationpending')->with('errors', $errors);
}

然后视图将其显示给用户 .

由于这是任何网站都很常见的东西,我想知道laravel库中是否有类似的内容?或者也许是一种更好的方法 . 我担心也许我将无法将每个错误重定向到此功能/页面 .

有什么想法吗?

2 回答

  • 1

    假设您将以下内容添加到Controller方法:

    public function login(Request $request)
    {
        $this->validate($request, [
            'email' => 'required|email',
            'password' => 'required'
        ]);
    
        //Do stuff
    }
    

    如果提交的表单中的字段不符合验证规则,您将被重定向回并可用 $errors->all() 进行迭代,例如:

    @foreach($errors->all() as $message)
        <div class="row">
            <div class="col-md-12">
                <div class="alert alert-dismissible alert-danger">
                    <button type="button" class="close" data-dismiss="alert">×</button>
                    <strong>{!! $message !!}</strong>
                </div>
            </div>
        </div>
    @endforeach
    

    这只是许多关于如何检索验证错误的一个例子,但应该让你开始 .

  • 1

    在我看来,有两种类型的错误需要在Web应用程序中有不同的行为:

    • 用户输入错误:当用户输入未通过验证规则时,需要向用户显示这些错误 . 我通常会将用户重定向回他们输入数据的页面,并提供有关哪些数据错误的警报消息 . 我为这个错误类型创建并打包,你可以查看我的一篇关于它的帖子here .

    • 应用程序代码出错:在 生产环境 环境中,您 should not 显示这些错误,这可以显示有关您的代码的一些敏感信息 . 最常见的方法是返回用户500错误页面并将错误详细信息记录到日志文件(或类似的东西)中,这在Laravel中是默认实现的 .

相关问题