我正在做一个论坛捆绑,您可以在其中添加(或不添加)对您的主题的投票。 问题是只有在布尔值为真时才需要嵌入式表单(问题和答案)。
我首先尝试了一些我在互联网上找到的解决方案,但没有任何效果。 然后我创建了两个表单,一个有投票,另一个没有,我用一些JQuery创建了一个小开关。
问题在于,当我想要创建一个主题并且只填写一个表单时,HTML5告诉我有必填字段我没有填写另一个表单,它不会只发送表单I& #39;我试图提交,它显然提交了两者。
您知道为什么以及如何解决这个问题,或者可能是一种更简单的技术来动态定义是否需要字段?
提前致谢!
答案 0 :(得分:0)
我终于找到了解决问题的方法,所以就是这样:
事实上,问题产生了问题,因为它是与我的主题相关联的OneToOne,这意味着我无法添加选项allow_delete(就像我为答案所做的那样)。 这是我的错误:
通过这种关系找到了一个新实体' ...'未配置为对实体级联持久化操作:...要解决此问题:在此未知实体上显式调用EntityManager#persist()或在映射中配置级联持久化此关联,例如@ManyToOne(..,cascade = {"坚持"})。如果你无法找出导致问题实施的实体,那么......'得到一个线索。
对于那些想要了解我如何在此处添加活动的人来说,这是一个简单的代码(highly inspired from the doc):
在 buildForm方法中:
->addEventListener(FormEvents::PRE_SUBMIT, array($this, 'onPreSubmit'))
然后您创建另一种方法:
public function onPreSubmit(FormEvent $event)
{
$data = $event->getData();
$form = $event->getForm();
if($data['vote'])
{
}
else
{
unset($data['question']);
$event->setData($data);
}
}