Здравствуйте.
Есть 7 форм, в которых есть от 20 до 50 различных полей. Каждое поле при обработки формы должно проходить валидацию, возможно как-то преобразовываться и сохраняться в определнное поле определённой модели.
При таких объемах код в контроллере и шаблоне будет массивным, громоздким и неудобным для дальнейшего изменения.
Чтобы решить эту проблему, я хотел сделать что-то типо массива, в котором записаны поля и их параметры, такие как:
Таким образом можно было бы настроить форму в одном месте, и в случае чего быстро и безболезненно добавлять, изменять или удалять какие-то поля.
Подскажите, решали ли вы такую задачу, если да, то как? Каким образом лучше всего реализовывать это именно в Laravel, с учётом всех его возможностей?
Я рекомендовал бы вынести весь код формы в отдельный трейт и подключать его соответственно к необходимому контроллеру.
Например создайте новый трейт FormContruct, добавьте весь ваш код туда:
trait FormContruct
{
// ваш код
}
И уже в классе вашего контроллера подключать его:
class SomeController extends Controller
{
use FormContruct;
// ваши методы
}
P.S. Учитывая большое количество полей в формах, есть смысл просто получить все их значения в массив:
$input = $request->all();
И уже дальше работать с этим массивом.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости