Laravel Ошибки валидации в блейде: множественные формы с одинаковыми сообщениями - PullRequest
0 голосов
/ 19 января 2020

На мой взгляд, у меня есть несколько форм. Когда я получаю ошибку проверки в одной форме, она отображает сообщение об ошибке проверки во всех формах. Как я могу обновить это, чтобы ошибка валидации отображалась только в той форме, которая вызвала ошибку валидации? Спасибо.

Просмотр:

<form method="post" action="/post/comment/{{ $post->alt_id }}" class="form-inline">
    <input type="text" class="form-control{{ $errors->has('comment') ? ' is-invalid' : '' }}" id="comment" name="comment" placeholder="Add a comment...">
    @if ($errors->has('comment'))
        <p class="invalid-feedback">{{ $errors->first('comment') }}</p>
    @endif
    <button type="submit" class="btn btn-primary">Submit</button>
    <input type="hidden" name="_token" value="{{ Session::token() }}"/>
</form>

1 Ответ

0 голосов
/ 19 января 2020

Вы можете использовать именованные пакеты ошибок :

return redirect('previous_page')
            ->withErrors($validator, 'first_form');

Затем вы можете получить доступ к именованной сумке ошибок в вашем блейде из переменной $errors:

{{ $errors->first_form->first('comment') }}

Если вы используете Laravel> = 6.10, вам может помочь метод validateWithBag:

$request->validateWithBag('first_form', [
    'title' => ['required', 'unique:posts', 'max:255'],
    'comment' => ['required'],
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...