TL; DR;
(В Laravel 5.8) После ошибки проверки, как я могу вернуться к определенному представлению со всеми входными данными и ошибками?
Я создаю многоступенчатую форму, в которой мне нужно проверять ввод на каждом этапе. Поэтому я создал первую страницу как создаваемую, а затем последующие страницы для обновления.
На второй странице, когда валидатор не работает, я возвращаю конкретное представление, так как хочу, чтобы оно перешло в эту часть, а не в начало формы. Я также возвращаю ошибки и ввод в случае неудачи.
Контроллер:
if ($validator->fails()) {
return view('partials.question_02_' . $type)
->with('type', $type)
->with('id', $id)
->withErrors($validator)
->withInput($request->all());
}
Вот моя логика проверки:
$validator = Validator::make($request->all(), [
'email' => 'required',
'first_name' => 'required',
'last_name' => 'required',
'phone' => 'required',
]);
Благодаря этому я могу вернуться к конкретному представлению и с ошибками проверки. Однако я не могу получить старый ввод.
Следующее в Blade покажет, что есть ошибка (появляется класс error), однако старый ввод не будет отображаться.
<input class="@if ($errors->has('first_name')) error @endif"
type="text" name="first_name" placeholder="First Name" value="{{ old('first_name') }}">
* обратите внимание, я поместил его здесь только на двух строчках для удобочитаемости
Странно то, что если я умру и сброслю запрос, я увижу весь ввод:
dd($request->all());
Однако, если я попытаюсь получить его из сеанса, я не вижу никаких входных данных:
@if($errors)
{{var_dump(Session::all())}}
@endif
Есть идеи, почему {{old ('first_name')}} не работает в этом случае?
Спасибо!
->withInput();
- person Aditya Thakur   schedule 08.05.2019return redirect()->action('LoginController@secondPage');
- person Aditya Thakur   schedule 08.05.2019