Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 25.04.2021 16:32:22

При ошибке валидации и дальнейшем 302 редиректе теряются динамические

Нужна подсказка как это лучше реализовать.
Есть blade страница с формой для отправки данных. В форме есть кнопка для динамического добавления полей. По сути передаются массивы данных. Я им даю нейм типа такого:

name="sections[0].list_items[0]"

Данные передаю не аяксом, а обычным сабмитом. Если валидацию не проходит, после 302 редиректа, заполняю форму старыми данными. Но есть проблема.
После редиректа пропадают все динамически созданные поля, т.к. я их создаю скриптом. Можно ли как-то после этого редиректа получить доступ ко всем отправленным данным чтобы в цикле прорисовать все айтемы (тем же js), которые были добавлены динамически? Хотя тогда мне не удастся использовать blade функцию old(). Или же может эти поля можно как-то восстановить средствами blade, но тогда нужно как-то в ГЕТ запрос на редирект (который срабатывает автоматически если есть ошибка валидации) передать все эти поля.
В общем подскажите, как это сделать грамотно. А то лезут в голову какие-то костыльные идеи типа использования кукиз или хедеров для редиректа.

Я кстати смотрел что лежит в $request уже на входе в контроллер по редирект - там уже нет данных из формы. И в принципе это логично, т.к. форма отправляет пост запрос из данными в бади, а при ошибке валидации редирект срабатывает на гет, и у него уже нет бади.

Не в сети

#2 03.06.2021 15:17:39

stsepelin
Откуда: Estonia
Сообщений: 43

Re: При ошибке валидации и дальнейшем 302 редиректе теряются динамические

Вы можете получить динамические данные через old и передать при загрузке страницы в JS, который соберет для вас все динамически. Второй вариант - соберите опять же через old при загрузке страницы все динамические поля, как вы и написали. Если предыдущие данные не возвращаются в случае ошибки валидации, значит вы где-то ошиблись в контроллере.

Не в сети

Подвал раздела