Это странно. Я изо всех сил пытался найти решение для своей проблемы, и большинство решений не работают для меня из-за разных версий или различной обработки запросов-контроллеров.Laravel 5.2 не показаны ошибки проверки формы
Что происходит.
У меня есть форма:
<div class="form-group">
Name *
{!! Form::text('name', '', ['class'=>'form-control', 'placeholder'=>'Required field']) !!}
</div>
и запрос:
class ContactFormRequest extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'name' => 'required|max:64',
'email' => 'required|email|max:128',
'message' => 'required|max:1024',
];
}
}
Я оставив поле имени пустым, так что не проходит проверку, и он должен вернуться на страницу контактной формы и показать ошибки:
@if(count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
Это ничего не показывает! Если я vardump
переменную $errors
, я получаю это:
object(Illuminate\Support\ViewErrorBag)[161]
protected 'bags' =>
array (size=0)
empty
Если я заполнить поля формы должным образом, она успешно посылает мне на страницу успеха, и все отлично работает. Все, что мне нужно сейчас, - это правильно обработать эту ошибку: S
Спасибо заранее!
Ваши контроллеры ограничены к маршрутной части __web промежуточного group__? Если нет, попробуйте связать их, но я не вижу ничего плохого в вашем коде ... – Hammerbot
Я предполагаю, что ваш метод контроллера включает ContactFormRequest в список параметров? Вы перенаправляетесь обратно в форму самостоятельно или полагаетесь на действие валидатора по умолчанию? –
Да. Все мои маршруты сгруппированы с веб-сайтом Middleware. И мой метод контроллера по своему параметру имеет ContactFormRequest как тип! –