假设我有一个包含一堆字段的 HTML 表单。一些字段属于产品,一些属于订单,一些属于其他。提交表单后,我想接受该请求,然后在控制器中为 Product、Order 和 Other 创建 Symfony 表单。然后我想获取部分表单数据并将其与适当的表单绑定。一个例子是这样的:
$productArray = array('name'=>$request->get('name'));
$pf = $this->createForm(new \MyBundle\Form\ProductType(), $product);
$pf->bind($productArray);
if($pf->isValid()) {
// submit product data
}
// Do same for Order (but use order data)
// Do same for Other (but use other data)
问题是当我尝试这样做时,我无法让 $form->isValid() 方法工作。似乎 bind() 步骤失败了。我怀疑它可能与表单令牌有关,但我不确定如何修复它。同样,我在视图中构建了自己的 HTML 表单(我没有使用 form_widget(),因为它需要以某种方式将一堆 FormTypes 合并为一个复杂的东西)。我只想要一种非常简单的方法来使用基本的 HTML 表单和 Symfony 表单功能集。
谁能告诉我 Symfony 甚至可以做到这一点,我该怎么做?