Ошибка проверки дисплея Laravel - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь использовать этот код:

                @foreach($errors->all() as $error)
                    <li>{!!   $error !!}</li>
                @endforeach

и в виду есть это: screen

Я бы хотел, чтобы ошибка отображалась правильно. пример Имя обязательно.

В дебаггере я вижу. Как заменить validation.required на "Требуется имя" enter image description here

Ответы [ 3 ]

0 голосов
/ 26 июня 2018

Вот хороший пример обработки ошибок в laravel

message.blade.php

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

@if(session('success'))
    <div class="alert alert-success">{{session('success')}}</div>
@endif

@if(session('error'))
    <div class="alert alert-danger">{{session('error')}}</div>
@endif

В вашем методе обновления контроллера, например,

public function update(Request $request, $id)
    {
        $this->validate($request,[
            'title'=>'required',
            'body'=>'required'
        ]);
       //the above validation is important to get the errors caught 
        $post= Post::find($id);
        $post->title = $request->input('title');
        $post->body = $request->input('body');

        $post->save();

        return redirect('/posts')->with('success','Updated successfully');
    }

, если у вас есть файл макета как layout.blade.php ПРИМЕЧАНИЕ. Наличие сообщения об ошибке в файле макета выгодно использовать для всех целей.

...
<div class="container">
    @include('message')
    @yield('content')
</div>
...
0 голосов
/ 26 июня 2018

Хорошо, я нашел ошибку. У меня не было другого языка для загрузки. В файле app / config.php заменить «locale» => «pl» на «en»

0 голосов
/ 26 июня 2018

вам нужно добавить валидацию в методе контроллера следующим образом ..

    $request->validate([
        'name' => 'required'
    ]);

, тогда вы можете показать свою ошибку проверки в виде:

   @if ($errors->has('name'))
      <li>{{ $errors->first('name') }}</li>
   @endif

и это тоже должно работать ...

 <ul>
     @foreach ($errors->all() as $error)
         <li>{{ $error }}</li>
     @endforeach
</ul>
...