Laravel 5.5 Ошибки валидации не отображаются в случае неудачи валидации формы - PullRequest
0 голосов
/ 20 ноября 2018

Я пытаюсь отобразить ошибки формы, если проверка формы не удалась. Все работает нормально, форма проверена правильно, но она не отображает ошибки формы в поле зрения. Каждый раз пустой массив возвращается как ошибки.

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;

class HomeController extends Controller
{
    public function storeProjectDetails(Request $request)
   {
    $messages = [
        'title.required' => 'Please enter trip title',
        'title.max' => 'Only 254 characters are allowed as trip title',
        'startDate.required' => 'Please enter trip start date',
        'startDate.date' => 'Only date formats are allowed as start date',
        'endDate.required' => 'Please enter trip end date',
        'endDate.date' => 'Only date formats are allowed as end date',
    ];

    $this->validate($request,[
        'title' => 'required|string|max:254',
        'startDate' => 'required|date',
        'endDate' => 'required|date',
    ]);

  }
}

Вид:

  print_r($errors->all());

Ответы [ 3 ]

0 голосов
/ 20 ноября 2018

Сначала вам нужно проверить ошибки, используя условие if, затем вам нужно распечатать ошибки, используя цикл, как указано ниже

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

В вашем случае вам не хватает вернуть массив ошибокв вашем контроллере.Попробуйте проверку, приведенную ниже.

$this->validate($request,[
        'title' => 'required|string|max:254',
        'startDate' => 'required|date',
        'endDate' => 'required|date',
    ], $messages);
0 голосов
/ 22 ноября 2018

Вы строите массив сообщений в неправильном формате, он должен выглядеть следующим образом:

$messages = [
    'required' => 'Please enter :attribute',
    'date' => 'Only date formats are allowed as :attribute',
    ...
];
0 голосов
/ 20 ноября 2018

использовал это

@if($errors->has())
   @foreach ($errors->all() as $error)
      <div>{{ $error }}</div>
  @endforeach
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...