【问题标题】:errors message laravel not work错误消息 laravel 不起作用
【发布时间】:2017-08-10 15:05:54
【问题描述】:

我的验证数据有一些错误,错误消息没有显示在我的刀片文件中。也许你可以帮助我

这是我的代码

tambah_jamaah.blade.php

        {!! Form::open(['route' => 'jamaah.store']) !!}
        @if (count($errors) > 0)
          <div class="alert alert-danger">
            Error :<br />
            <ul>
              @foreach ($errors->all() as $error)
                <li></li>
              @endforeach
            </ul>
          </div>
        @endif
          <div class="box-body">
            <div class="form-group">
              {!! Form::label('Name', 'Nama Jamaah') !!}
              {!! Form::text('Name', null, ['class' => 'form-control', 
            'placeholder' => 'Masukan Nama Jamaah ...']) !!}
            </div>
            <div class="form-group">
              {!! Form::label('Number', 'Nomor Telepon') !!}
              {!! Form::number('Number', null, ['class' => 'form-control', 
              'placeholder' => 'Masukan Nomor Telepon ...']) !!}
            </div>
            <div class="form-group">
              {!! Form::label('Birth', 'Tanggal Lahir') !!}
              {!! Form::date('Birth', null, ['class' => 'form-control']) !!}
            </div>
            <div class="form-group">
              {!! Form::label('Wa', 'Nomor Whatsapp') !!}
              {!! Form::number('Wa', null, ['class' => 'form-control', 
               'placeholder' => 'Masukan Nomor Whatsapp (Opsional) ...']) 
             !!}
            </div>
              </div>


              <div class="box-footer">
              <button type="submit" class="btn btn-primary">Simpan</button>
              </div>
               {!! Form::close() !!}

JamaahsController.php(存储方法)

这是我在 JamaahsController@store 中的代码

 public function store(Request $request)
{
    //Validasi data
    $this->validate($request, [
            'Name'      => 'required|max:255',
            'Number'    => 'required',
            'Birth'     => 'required'
        ]);

    $pbk = new Pbk;
    $pbk->Name   = $request->Name;
    $pbk->Number = $request->Number;
    $pbk->Birth  = $request->Birth;

    $pbk->save();
    return redirect()->route('jamaah.index');
}

我不确定在我的路由中添加一些组(中间件)

routes.php

Route::group(['middleware' => ['web']], function() {
Route::resource('jamaah', 'JamaahsController');
Route::get('/', 'PagesController@getIndex');
});

谢谢

【问题讨论】:

    标签: php laravel blade


    【解决方案1】:

    我认为您需要更新刀片文件代码,例如:

    @if (count($errors) > 0)
      <div class="alert alert-danger">
        <ul>
          @foreach ($errors->all() as $error)
             <li>{{ $error }}</li>
          @endforeach
        </ul>
      </div>
    @endif
    

    希望这对你有用!!!

    【讨论】:

    • @AzzarioRazy 好的,让我检查一下
    • @AzzarioRazy 请点击此链接(stackoverflow.com/questions/26732821/…) 可能对您有所帮助
    • @AzzarioRazy 您也可以使用请求文件创建自定义验证消息
    【解决方案2】:

    官方文档推荐此代码用于验证错误。现在您的 li 项中没有显示任何错误。

    @if ($errors->any())
        <div class="alert alert-danger">
            <ul>
                @foreach ($errors->all() as $error)
                    <li>{{ $error }}</li>
                @endforeach
            </ul>
        </div>
    @endif
    

    为了调试,我还建议添加此代码

    public function store(Request $request)
    {       
        //Validasi data
        $this->validate($request, [
                'Name'      => 'required|max:255',
                'Number'    => 'required',
                'Birth'     => 'required'
            ]);
        dd($request->all());
    

    如果 dd 输出任何内容,则验证根本不会失败。

    如果验证失败,则在您的刀片中尝试此代码。在控制器中使用 dd() 发布后,然后在控制器中刷新没有 dd() 的帖子,这样您将在刀片中看到错误。

    {!! Form::open(['route' => 'jamaah.store']) !!}
    {{dd($errors)}}
    

    这会显示 $errors 中的内容以及是否发现任何错误。

    【讨论】:

    • ViewErrorBag {#166 ▼ #bags: [] }
    • 这意味着此时出现了错误。尝试将测试过程设置为 1. 删除验证并在控制器方法中添加 dd() 2. 进行后调用并查看控制器的 dd 输出 3. 添加回验证并在刀片中添加 dd() 4. 刷新页面通过验证再次提交相同的无效数据以获取验证错误并查看包中的内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-02
    • 2020-06-24
    • 2018-01-11
    • 2020-03-22
    • 1970-01-01
    • 2017-06-10
    • 2018-09-07
    相关资源
    最近更新 更多