多步骤注册表单=>多个请求吗?(Laravel)


Multiple steps registration Form => Multiple Requests? (Laravel)

我正在构建一个多步骤注册表单。只有在当前步骤完全验证后,我才允许用户进行下一步操作。我还将在session中存储所有信息,当我拥有所有信息时,我会将其持久化到数据库中。

我的步骤将涉及不同的字段,如:用户详细信息与地址,业务详细信息,这将有地址字段,然后一些其他字段。然而,有些用户需要填写地址,而其他用户则不需要。

  1. UserDetailsRequest(不包括地址)
  2. BusinessDetailsRequest(不包括地址)
  3. AddressRequest
  4. ExtraFieldsRequest

  1. UserDetailsRequest (with addresses)
  2. BusinessDetailsRequest (with addresses)
  3. ExtraFieldsRequest

我可以结合请求在我的控制器取决于用户类型,如果他们需要提供一个地址?

在一般情况下,我需要创建尽可能多的请求,因为我有窗体在我的项目?我可以创建一个"更大"的表单请求并在其中放入一些逻辑吗?

起始提示:首先,如果地址与两个单独的实体相关,我不会将所有内容分开来创建第三个" addresses "向导步骤。这可能会导致在用户体验方面混淆。相反,我更喜欢你提出的第二个解决方案,即分三个步骤的方案。

现在,关于向导和存储数据。当然,你可以用很多方法来做到这一点。显然,您可以使用会话,但是如果您不知道您的应用程序将来将如何扩展,您可能会发现自己遇到一些麻烦。我会做一些不一样的事情。

:

  • 使用一些库或框架(jQuery, Angular,两者,你选择)来为你的向导制作一个单页应用。它会更干净,而且更有用如果你的用户想回去,编辑一些东西等等;
  • 创建一个javascript对象与所有你需要的数据,然后将其发送到控制器,在那里它将被检查,验证,然后处理。显然你将创建相应的类;
我不喜欢使用会话。如果我可以选择不使用它们,从长远来看,我总是喜欢它。