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

Blade Form 未显示 Flash 消息并且未对表单字段执行验证

Blade Form 未显示 Flash 消息并且未对表单字段执行验证

PHP
POPMUISE 2021-06-24 18:04:43
O. 我需要帮助解决这个问题。我在blade.php 文件中有一个联系表单,我在我的web.php 文件中设置了一个路由,我设置了一个从web.php 文件路由的控制器,用于对字段执行验证并显示提交表单时页面上的闪现消息。现在表单已正确提交到我的数据库,因此它可以正常工作,但是如果我使用空白表单提交,则验证将无法正常工作(laravel),并且在成功提交表单时不会显示闪现消息:代码:网页.php<?php     Route::get('/', 'HomeController@index')->name('home');    Route::post('/contact/submit','MessagesController@submit');消息控制器.php<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use App\Message;class MessagesController extends Controller{    public function submit(Request $request)    {        $validatedData = $request->validate([            'name' => 'required|min:2',            'email' => 'required|max:255',            'phonenumber' => 'required|min:10|max:10',            'message' => 'required|min:5',        ]);        Message::create($validatedData);        return redirect('/')->with('success', 'Message has been sent');    }}联系人.blade.php{{--CONTACT FORM--}}<section id="contact"><div class="container-fluid padding">    <div class="row text-center padding">        <div class="col-12">            <h2>Contact PDMA</h2>        </div>        <div class="col-12 padding">            {!! Form::open(['url' => 'contact/submit']) !!}            @csrf            <div class="form-group">                {{Form::label("name", 'Name')}}                {{Form::text('name', '', ['class' => 'form-control', 'placeholder' => 'Enter name'])}}            </div>            <div class="form-group">                {{Form::label("email", 'E-Mail Address')}}                {{Form::text('email', '', ['class' => 'form-control', 'placeholder' => 'Enter email'])}}            </div>            <div class="form-group">                {{Form::label("phonenumber", 'Phone Number')}}                {{Form::text('phonenumber', '', ['class' => 'form-control', 'placeholder' => 'Enter phone number'])}}            </div>    </div></div></section>
查看完整描述

2 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

只需在控制器中使用 Session: First Import Session 类


 use Session;


 Message::create($validatedData);

 Session::flash('success', 'Message has been sent');

 return redirect('/')

然后在视图文件夹中创建一个刀片文件,你可以随意调用它,例如:notify.blade.php


@if (Session::has('success'))

 <div class="alert alert-success" role="alert" style="bottom:10px; position: fixed; left:2%; z-index:100">

  <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>

  <h4 class="alert-heading">Well done!</h4>

  <p>{{ Session::get('success') }}</p>

 </div>

@endif


@if (Session::has('danger'))

 <div class="alert alert-danger" role="alert" style="bottom:10px; position: fixed; left:2%; z-index:100">

   <a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>

   <h4 class="alert-heading">Error!</h4>

   <p>{{ Session::get('danger') }}</p>

 </div>

@endif

最后,在任何视图中包含此文件。


include('notify')


查看完整回答
反对 回复 2021-06-25
  • 2 回答
  • 0 关注
  • 101 浏览

添加回答

举报

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