为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
翻阅古今 2023-04-15 14:13:32
我遵循了 Laravel 站点上的验证文档,但错误不会显示在我的刀片模板上。现在,当我单击提交时,它会重定向回同一页面,但不会显示任何错误。另外,我确实运行了dd($request->all());并且它显示了数据。我开始学习 Laravel 就像刚刚开始一样,所以我会尽力为您提供更多信息。:)ContactFormController.phpnamespace 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
查看完整描述

2 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

请试试这个


if ($validator->fails()) {

    return Redirect::back()->withErrors($validator);

}

你的方法应该像


public function store(Request $request){


    $data = array(

            'fname' => $request->input('fname'),

            'email' => $request->input('email'),

            'message' => $request->input('message'),

            );


    $rule  =  array(

            'fname'       => 'required',

            'email'       => 'required',

            'message'     => 'required'

               ) ;


    $validator = Validator::make($data, $rule);


    if ($validator->fails()) {

        return redirect::back()->withErrors($validator);

    } else {

        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');

    }

}


查看完整回答
反对 回复 2023-04-15
?
FFIVE

TA贡献1797条经验 获得超6个赞

我创建了一个新的 Laravel 项目并将视图和路由复制并粘贴到新的 Laravel 项目并再次创建一个新的控制器并且它可以工作。没有对代码进行任何更改



查看完整回答
反对 回复 2023-04-15
  • 2 回答
  • 0 关注
  • 102 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信