Форма регистрации в несколько шагов = & gt; Несколько запросов? (Laravel)

Я строю многоэтапную регистрационную форму. Я только позволю пользователю перейти к следующему шагу, когда текущий шаг будет полностью подтвержден. Я также буду хранить всю информацию в session и когда у меня будет все, я сохраню это в базе данных.

Мои шаги будут включать в себя различные поля, такие как: пользовательские данные с адресом, бизнес-данные, которые также будут иметь адресные поля, а затем несколько других полей. Однако некоторые пользователи должны будут заполнить адрес, в то время как другие не потребуются.

  1. UserDetailsRequest (без учета адресов)
  2. BusinessDetailsRequest (без учета адресов)
  3. AddressRequest
  4. ExtraFieldsRequest

ИЛИ ЖЕ

  1. UserDetailsRequest (с адресами)
  2. BusinessDetailsRequest (с адресами)
  3. ExtraFieldsRequest

Могу ли я объединить запросы в моем контроллере в зависимости от типа пользователя и если они необходимы для предоставления адреса?

В общем, нужно ли создавать столько запросов, сколько у меня есть форм в моем проекте? Могу ли я вместо этого создать «больший» запрос формы и добавить в него некоторую логику?

0

Решение

Начальный совет: прежде всего, если адреса относятся к двум отдельным объектам, я бы не стал разделять все для создания третьего шага мастера «Адреса». Это может привести запутанным с точки зрения пользовательского опыта. Вместо этого я предпочел бы второе решение, которое вы предложили, с тремя шагами.

Сейчас, о мастере и хранении данных. Конечно, вы можете сделать это разными способами. Очевидно, ты мог используйте сеансы, но если вы не знаете, как будет масштабироваться ваше приложение в будущем, у вас могут возникнуть проблемы. Я бы сделал что-то другое.

Как это:

  • использовать некоторую библиотеку или фреймворк (jQuery, Angular, оба, на ваш выбор), чтобы сделать одностраничное приложение для вашего мастера. Это будет чище, а также более пригодный для использования если ваш пользователь хочет вернуться назад, отредактируйте что-нибудь и т. д .;
  • создать объект JavaScript со всеми необходимыми данными, а затем отправьте их контроллеру, где они будут проверены, проверены и затем обработаны. очевидно вы будете создавать классы соответственно;

Я не люблю использовать сессии. Если я могу не использовать их, я всегда наслаждаюсь этим в долгосрочной перспективе.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]