多步注册表格=>多个请求? (Laravel)

时间:2015-09-12 00:30:43

标签: php validation laravel laravel-5.1 laravel-request

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

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

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

    1. UserDetailsRequest(带地址)
    2. BusinessDetailsRequest(带地址)
    3. ExtraFieldsRequest
    4. 我可以根据用户类型以及是否需要提供地址来合并我的控制器中的请求吗?

      一般来说,我是否需要创建与项目中的表单一样多的请求?我可以创建一个更大的'形成请求并在其中加入一些逻辑?

1 个答案:

答案 0 :(得分:0)

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

现在,关于向导和存储数据。当然,你可以通过多种方式实现这一目标。显然你可以使用会话,但如果你不知道你的应用程序将来会如何扩展,你可能会发现自己遇到了一些麻烦。我会做点别的事。

像这样:

  • 使用一些库或框架(jQuery,Angular,两者,您选择)为您的向导制作单页应用。如果您的用户想要返回,编辑某些内容等,它将更干净且更有用;
  • 创建一个包含所需数据的javascript对象,然后将其发送到控制器,在控制器中对其进行检查,验证,然后进行处理。显然你将相应地创建类;

我不想使用会话。如果我可以选择不使用它们,我会长期享受它。