Laravel 6 - новый способ отображения сообщений проверки - PullRequest
1 голос
/ 08 ноября 2019

Когда я использовал Laravel 5.6, я отображал ошибки валидации в блейде следующим образом:

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

В Laravel 6 это не работает. Вы знаете, как это сделать правильно?

Моя проверка:

$this->validate($request, [
            'name' => 'required|unique:users',
            'email' => 'required|unique:users'
        ], [], []);

Посмотрите - я не хочу отображать сообщение таким образом:

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

Я хочу иметь один notifications.blade.php файл, в котором отображаются все ошибки. Вот почему мне нужна реализация session()->has('error')

Это решение не решает проблему ...

@if ($errors->has('username'))
    <span class="invalid-feedback" role="alert">
        <strong>{{ $errors->first('username') }}</strong>
    </span>
@endif
<input type="text" name="username">

Ответы [ 2 ]

2 голосов
/ 08 ноября 2019

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

@if ($errors->has('username'))
    <span class="invalid-feedback" role="alert">
        <strong>{{ $errors->first('username') }}</strong>
    </span>
@endif
<input type="text" name="username">
1 голос
/ 08 ноября 2019

Пожалуйста, проверьте ниже фрагменты кода:

<input type="text" class="form-control" id="name" name="name" placeholder="Enter Name" value="">
 @if ($errors->has('name'))
 <span class="text-danger">{{ $errors->first('name') }}</span>
 @endif

Таким же образом, мы можем показать сообщения проверки на других формах полей.

...