有没有办法在同一页面上嵌入两个表单(数据位于 2 个不相关的实体上)并仅使用一个提交按钮提交表单?
这个想法是仅在一个 Controller 操作中验证两个提交的表单。
实体 1 和 实体 2 完全没有共同点。
|--------------------------
| Form 1 (Entity 1) |
|--------------------------
--------------- |
| Main Form |------------------
--------------- |
|--------------------------
| Form 2 (Entity 2) |
|--------------------------
有没有人知道这是否可能?
非常感谢。
最佳答案
这是可能的。这样的事情应该工作:
$entity1 = new Entity1();
$entity2 = new Entity2();
$form = $this->createMainForm();
$form->setData(array(
'entity1' => $entity1,
'entity2' => $entity2,
));
if ($request->isMethod('POST')) {
$form->bindRequest($request);
if ($form->isValid()) {
// $entity1 and $entity2 should contain the post data
// and can be persisted or whatever it is you want to do
// ...
您还可以创建一个包含两个实体的模型并为其创建一个表单。使用
$mainEntity->getEntity1();
检索封装的实体。
关于symfony - 提交在同一页面上呈现的两个不相关的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18440539/