2

我想制作一个分为两个步骤的表格 - 每个步骤都在一个单独的页面上。根据第一步中给出的数据,我想在第二步中准备一些预填充的数据。

尽管花了很多时间在谷歌搜索我找不到它。

从逻辑的角度来看,我更喜欢一个 Zend\Form 和单独的字段集 (??) 而不是创建两个单独的表单。

那么如何在 Zend Framework 2 中正确地做到这一点呢?

4

1 回答 1

2

最简单的方法(我认为)有两种形式, aMyModule\Form\Step1和 a MyModule\Form\Step2。表单接受构造函数中的Step2一些输入,这些输入取决于步骤 1 中的一些数据。

例如,您可以使用服务管理器的工厂执行此操作:

'factories' => array(
  'MyModule\Form\Step1' => function($sl) {
    return new MyModule\Form\Step1;
  },
  'MyModule\Form\Step2' => function($sl) {
    $request = $sl->get('Request');
    $data    = $request->getPost();
    return new MyModule\Form\Step2($data);
  }
),

如果您GET是显示第一页的页面,那么您POST将转到第二页,最后POST到最后一页。在第二个表单的构建过程中,您使用 POST 数据并根据需要填充/构建数据。

于 2013-07-16T15:21:07.677 回答