но при создании можно не полностью заполнить обязательные
Как? И почему? Слово "обязательные" как бы намекает что без них ничего не должно работать, форма просто не должна срабатывать.
Вообще не очень понятно, в чем проблема? После сохранения продукта у вас должна быть
а) запись в таблице продуктов,
б) N записей в таблице изображений
в) собственно лежащие где-то (не особо важно где) изображения, ссылки на которые лежат в таблице изображений.
В ларе создается зависимость один ко многим на таблицы продуктов и картинок.
Все, дальше что бы вы не делали, и как бы не заливали, происходит независимо от заполненности/незаполнености полей...
Вопрос, может есть другая библиотека для удобства использования как по сетке, так и загрузке ?
Во первых сетка легко меняется, естественно она не прибита гвоздями к жс, вы можете ее кастомизировать как угодно, главное использовать в нужных местах правильные наименования классов. То же самое касается загрузки, хотя не очень понятно что вас не устраивает. Есть много библиотек похожих на дропзон, но мне кажется что дело тут не в библиотеках...