@Kristina8787

Почему валидатор laravel не показыает ошибки?

Учусь по курсам laravel версии 5.2, у самой стоит laravel 7.x , столкнулась с такой проблемой,что у меня валидатор работает как при написании проверки как в старой версии,так и в новой, но кол-во ошибок выдает постоянно 0, и следовательно не выводит их на экран,и не сохраняет в сессии уже введенные данные. Роуты правильные, стартсессии и ShareErrorsFromSession подключены в Kernel в protected $middleware . вот код контроллера с методом validator

public function show(Request $request, $id = false)
    {
        if($request->isMethod('post')){
            $rules = [
              'name'=> 'required|max:10',
              'email'=> 'required|email'
            ];

            $this->validate($request,$rules);
            dump($request->all());
        }
        return view('default.contact',['title' => 'Contacts']);
    }

и вот в шаблоне
<p>{{count($errors)}}</p>
        @if (count($errors) > 0)
            <div class="alert alert-danger">
                <ul>
                    @foreach ($errors->all() as $error)
                        <li>{{ $error }}</li>
                    @endforeach
                </ul>
            </div>
        @endif

метод валидирует, я так думаю,потому что дамп срабатывает когда дынные введены корректно,а когда нет то не срабатывает, но ни один не выводит ошибки и не сохраняет в сессии уже введенные данные. Что тут не так?
  • Вопрос задан
  • 53 просмотра
Решения вопроса 1
@Kristina8787 Автор вопроса
Решила проблему отключением в $middleware таких вещей как \Illuminate\Session\Middleware\StartSession::class,
и \Illuminate\View\Middleware\ShareErrorsFromSession::class, так как они уже присутсвуют в $middlewareGroups, из за того что у меня и у препода разные версии Laravel,у нас в разных файлах роуты лежат, и так как уже по умолчанию web.php (как я поняла по крайне мере) использует ресурсы из web группы в Kernel, то дублирующие их ресурсы в $middleware создавали мне такую неприятность.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы