Допустим имеется форма. Пусть профиль пользователя.
Помимо других полей, присутствует обязательное поле для загрузки файлов, например аватарка, или какие-то документы. Прикрепление файлов к пользователю реализовано через связь morphToMany.
При первом заполнении формы проблем нет. Заполнили, добавили файлы, форма прошла валидацию, всё пучком.
Далее нужно сделать редактирование этой формы. С обычными полями проблемы нет, заполняем значениями из модели. А как быть с input[type=file]? В него нельзя добавить значение (путь к уже загруженному файлу). При этом нужно показать пользователю, что файл у него уже есть загруженный. Нужно оставить возможность загрузить новый (заменить, не добавить). И при сохранении оно должно пройти валидацию в том случае, если пользователь не будет обновлять файлы.
nullable для поля в валидацию и не запускать сервис для загрузки файла если файла нет в реквесте. А остальное решается на фронте. Можно показывать инфу что такой-то файл загружен или картинку и рядом пустой file input для замены. там много фронт решений можно подсмотреть где-нибудь и подобрать ближе к задаче.
Добавьте скрытое поле с информацией о файлах, из него можно брать путь к превьюшке, либо занулять реализуя возможность удалить файл.
При сохранении проверяйте пришёл ли файл. Если файла нет, проверяете что там в скрытом поле, если его занулили - то удалять старый.