我想制作一个分为两个步骤的表格 - 每个步骤都在一个单独的页面上。根据第一步中给出的数据,我想在第二步中准备一些预填充的数据。
尽管花了很多时间在谷歌搜索我找不到它。
从逻辑的角度来看,我更喜欢一个 Zend\Form 和单独的字段集 (??) 而不是创建两个单独的表单。
那么如何在 Zend Framework 2 中正确地做到这一点呢?
我想制作一个分为两个步骤的表格 - 每个步骤都在一个单独的页面上。根据第一步中给出的数据,我想在第二步中准备一些预填充的数据。
尽管花了很多时间在谷歌搜索我找不到它。
从逻辑的角度来看,我更喜欢一个 Zend\Form 和单独的字段集 (??) 而不是创建两个单独的表单。
那么如何在 Zend Framework 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 数据并根据需要填充/构建数据。