TODOOM
@TODOOM
PHP developer

Как заполнить изображением input type="file" при ошибке валидации формы?

Есть форма с input type="file". Если после отправки формы возникает ошибка валидации, запись не создается. Как в таких случаях можно не заставлять пользователя повторно выбирать изображение?

На ум приходит только:
1) предварительное создание пустой модели и сохранение файла при сабмите. Минус - куча черновиков в базе;
2) временное сохранение файла (до повторной отправки). Минус - надо чистить, а форма может быть открыта в браузере хоть несколько дней;
3) конвертировать в base64, возвращать обратно в , и использовать его если не было выбрано другого файла.

3 вроде нормальное решение, но может есть идеи получше?
Как вы обходите эту проблему в своих проектах?

Заранее спасибо.

P/S: пишу на Yii2, но интересует скорее общий подход, т.к. поведение и виджеты собственные.
  • Вопрос задан
  • 354 просмотра
Решения вопроса 1
@Silm
Отправить форму через AJAX.
Если все ок, делаем редирект, если ошибка то выводим сообщение.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Отправлять форму через ajax, и очищать её только при успешном ответе от сервера.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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