@evomed

Как лучше сохранять невалидированные данные?

Допустим есть модель Post. Юзер переходит на страницу создания поста, вводит данные, которые не проходят валидацию и получает 422 ошибку. Как лучше сохранить данную информацию? Создать полиморфную таблицу с json полем "request". Или добавить поле "without_validation" в модель и сохранять такие промежуточные результаты, исключая их из всех запросов? Или другой способ. Цель - если юзер заполнял однажды форму, получил ошибку и ушел (что часто бывает, но делать проще проверку уже нельзя), чтобы эти данные, которые он заполнял, не потерялись и в следующий раз (когда он вернется через месяц) предстали перед ним.
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Простейший вариант это localstorage
но он подразумевает что клиент использует тот же браузер
Второй вариант сессия на сервере но тут возможен вариант что ее вычистят
третий вариант это уникальная идентификация пользователя даже анонимного и неструктурированная таблица.
Смысл такой
id - guid
uid - guid определяйте сами
formid - что за форма, это что бы было универсально
body - text просто текст который ваш код десириализует в json

Логика простая ваш код на форме периодически сериализует данные, если пользователь ушел, то при возврате происходит десириализация. Когда данные заполнены и внесены в бд, то запись удаляется
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы