是否需要,取决于一个字段-嵌入式表格Symfony2

卢卡斯富福

我正在做一个论坛捆绑包,您可以在其中添加(或不添加)您的主题的投票。问题是仅当布尔值为true时才需要嵌入形式(问题和答案)。

我首先尝试了一些在Internet上到处都可以找到的解决方案,但是没有任何效果。然后,我创建了2种形式,一种具有表决权,另一种没有表决权,并且我使用一些JQuery创建了一个小开关。

问题是,当我想创建一个主题并仅填写一张表格时,HTML5告诉我有一些字段我没有填写另一张表格,它不仅发送了我要提交的表格,显然都提交。

您知道为什么以及如何解决这个问题,或者知道一种更简单的技术来动态定义是否需要字段吗?

提前致谢 !

卢卡斯富福

我终于找到了解决我的问题的方法,就是这样:

  • 根据需要添加嵌入表单FormType false
  • 我添加了一个PRE_SUBMIT来检查用户是否要添加投票
  • 如果没有,我将删除发送到控制器的数据(问题)

实际上,正是这个问题引起了问题,因为它是与我的主题相关联的OneToOne,这意味着我无法添加选项allow_delete(就像我为答案所做的那样)。
这是我的错误:

通过关系'...'找到了一个新实体,该关系未配置为对实体进行级联持久化操作:...要解决此问题:在此未知实体上显式调用EntityManager#persist()或配置级联来持久化该关联在映射中,例如@ManyToOne(..,cascade = {“ persist”})。如果您无法找出导致问题的实体,请实施“ ...”以获取线索。

对于那些想看看我如何在这里添加事件的人来说,这是一个简单的代码(受到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);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

select2字段取决于另一个字段

Angular 2或4反应性表单集验证取决于另一个字段值

将错误绑定到symfony2控制器中的嵌入式表单字段

mgo,mongodb:从嵌入式结构中查找与一个字段匹配的文档

Angular 2+自定义验证器“是否需要”填写另一个字段

仅当填写前一个字段时才需要填写表格字段

如何将值添加到odoo many2many字段列中,取决于同一个字段中的另一列?

symfony验证另一个字段是否为特定值

如何从symfony 2控制器中删除嵌入式表单中的表单字段

Symfony2 | 表单-创建复杂的字段类型并将其转换为orm中的一个字段

Mongodb在一个字段上查询取决于另一个字段

需要使用mapstruct将两个源对象合并为目标对象,其中source1中的一个字段具有List,而source2中的一个字段为string

数据库 - 有 2 个表,需要另一个同时具有 ID 和另一个字段的表

Symfony2:根据另一个字段值更改下拉值

如何确定一个字段在SQL Server 2008 R2中是否具有前导零?

Django模型字段取决于另一个字段的值

动态字段数取决于另一个字段的值

Symfony2嵌入式表单标签

Symfony2嵌入式表单+动态表单更新

映射-Symfony2中的Mongodb嵌入式文档

名称列表取决于对象中的另一个字段

过滤器值取决于另一个字段

根据取决于一个字段的值对样本进行分组

Symfony2-在一个字段上引用两个实体的一个ManyToOne关系

Symfony在一个字段中形成2种不同的值类型

PHP:比较2个不同的数组/对象。检查另一个字段中是否存在字段值

一个字段的大小写条件取决于另一个表中的另一个字段

组基于另一个字段中的2个相同数据组成一个字段

我想根据一个字段“LIKE”另一个字段的内容加入 2 个表