Использую стандартный
модуль для аутентификации.
Есть следующая страница
login.blade.php
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror"name="email" value="{{ old('email') }}" autofocus>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror"name="password" value="{{ old('password') }}" autofocus>
@error('password')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
Здесь:
1. В случае проблем с полем email (например поле пустое), выведется первый спан, внутри него текст ошибки (Email field cannot be empty)
2. Аналогично для пароля, но тут уже выводится второй спан
3. НО, в случае передачи неверных данных для входа ошибка "This credentials dont match our records" выводится в первом спане
Смог нагуглить что запись
@error('email')
Эквивалентна
@if ($errors->has('email'))
Сделал вывод что с помощью
$errors->first('MyField')
мы можем получить ошибку "ассоциированную" с полем MyField.
Собственно вопросы:
1) Почему ошибка
This credentials dont match our records
выводится в первом спане (т.е. ассоциирована с полем email и возвращается при помощи $errors->first('email'))? Что делать если я хочу выводить ошибки о пустом email и о неверных данных в разных блоках? Как ассоциировать ошибку о неверных данных с другим полем?
Порылся в исходниках и не нашел места где это происходит.
2) Как получить полный список всех ошибок в формате
Имя Поля : Текст ошибки
(ну или любом похожем)?
Пробовал
print_r($errors->all())
, но выводится просто массив всех ошибок, без данных о том с каким полем они ассоциированы.