0

当第二个发送函数中提供的电子邮件正确 $cm1['email'] 时,下面的代码可以完美运行,但是,当用户输入一个不工作的电子邮件时,Laravel 会显示错误页面并且我写的条件是 redirect('/cm ') 错误消息不起作用。所以我的问题是,当发送电子邮件而不是显示错误时发生错误时,如何让 Laravel 将用户重定向到带有错误闪烁消息的页面。

     Mail::send('email_contact', ['data' => $cm1], function ($message)
    {

        $message->from('noreply@mydomain.com', 'No Reply');
        $message->to('rec@gmail.com');

    });

    Mail::send('email_rec', ['data' => $cm1],function ($message) use ($cm1) {

        $message->from('noreply@mydomain.com', 'No Reply');
        $message->to( $cm1['email']);

    });
    if( count(Mail::failures()) > 0 ) {
        return redirect('/cm')->with('flash_message','<strong> Something went wrong! </strong> The entered email seems to be invalid Received');
    }

    return redirect('/cm')->with('flash_message','<strong> Thank You! </strong> Your Inquiry Has Been Received');
4

1 回答 1

0

您可以在 app/Exceptions/Handler.php 文件中进行更改,如下所示。可能这会解决你的问题。

public function render($request, Exception $e)
{

    if ($this->isHttpException($e)) {
        switch ($e->getStatusCode()) {

            // not authorized
            case '403':
                return \Response::view('errors.'.$e->getStatusCode(), [],403);
                break;

            // not found
            case '404':
                return \Response::view('errors.403', [],404);
                break;

            // not found
            case '405':
                return \Response::view('errors.403', [],405);
                break;

            // internal error
            case '500':
                return \Response::view('errors.403',[],500);
                break;

            default:
                return $this->renderHttpException($e);
                break;
        }
    }elseif ($request->ajax()) {
        return response()->json(['message' => "Something want wrong.!!"]);
    }elseif ($e instanceof QueryException){
        return back();
    }elseif ($e instanceof PDOException){
        return back();
    }
    else {
        return parent::render($request, $e);
    }
}

在视图中,您可以将视图文件设置为渲染

于 2018-08-04T06:42:24.833 回答