Laravel 7.5.2 $errors 不显示在刀片​​上

我遵循了 Laravel 站点上的验证文档,但错误不会显示在我的刀片模板上。现在,当我单击提交时,它会重定向回同一页面,但不会显示任何错误。另外,我确实运行了dd($request->all());并且它显示了数据。我开始学习 Laravel 就像刚刚开始一样,所以我会尽力为您提供更多信息。:)


ContactFormController.php


namespace App\Http\Controllers;


use Illuminate\Http\Request;

use Illuminate\Support\MessageBag;

use App\Http\Requests;

use Mail;



class ContactFormController extends Controller

{

    public function create(){

        return view('pages.contact');  

    }


    public function store(Request $request){

        //dd($request->all());


        $this->validate($request, [

            'fname' => 'required',

            'email' => 'required|email',

            'message' => 'required'

        ]);


        Mail::send('emails.contactTemplate', [ 

            'msg' => $request->message

        ], function ($mail) use($request){

            $mail->from($request->email, $request->fname);

            $mail->to('cslim5515@gmail.com')->subject('New Enquiry'); 


        });


        return redirect()->back()->with('flash_message', 'Thank you for your message');

    }


    public function build()

{

    return $this->markdown('emails.contactTemplate');

}

}

contact.blade.php 文件


<div class="card-body text-justify" style="font-size:14px">

                        <div class="">

                        @if ($errors->any())

                            <div class="alert alert-danger">

                                <ul>

                                    @foreach ($errors->all() as $error)

                                        <li>{{ $error }}</li>

                                    @endforeach

                                </ul>

                            </div>

                        @endif


翻阅古今
浏览 104回答 2
2回答

12345678_0001

请试试这个if ($validator->fails()) {&nbsp; &nbsp; return Redirect::back()->withErrors($validator);}你的方法应该像public function store(Request $request){&nbsp; &nbsp; $data = array(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'fname' => $request->input('fname'),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'email' => $request->input('email'),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'message' => $request->input('message'),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; );&nbsp; &nbsp; $rule&nbsp; =&nbsp; array(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'fname'&nbsp; &nbsp; &nbsp; &nbsp;=> 'required',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'email'&nbsp; &nbsp; &nbsp; &nbsp;=> 'required',&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'message'&nbsp; &nbsp; &nbsp;=> 'required'&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;) ;&nbsp; &nbsp; $validator = Validator::make($data, $rule);&nbsp; &nbsp; if ($validator->fails()) {&nbsp; &nbsp; &nbsp; &nbsp; return redirect::back()->withErrors($validator);&nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; Mail::send('emails.contactTemplate', [&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'msg' => $request->message&nbsp; &nbsp; &nbsp; &nbsp; ], function ($mail) use($request){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $mail->from($request->email, $request->fname);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $mail->to('cslim5515@gmail.com')->subject('New Enquiry');&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; &nbsp; &nbsp; return redirect()->back()->with('flash_message', 'Thank you for your message');&nbsp; &nbsp; }}

FFIVE

我创建了一个新的 Laravel 项目并将视图和路由复制并粘贴到新的 Laravel 项目并再次创建一个新的控制器并且它可以工作。没有对代码进行任何更改
打开App,查看更多内容
随时随地看视频慕课网APP