首页 > 解决方案 > Symfony 2.7,如果字段为空,表单将不会提交

问题描述

我有一个经典的表单,有几个“实体”类型字段和一个集合类型字段。这些不会引起任何问题。当我将数据放入除描述字段之外的所有字段中时,因为我希望它为空或为空,然后提交,我的表单被处理但新实体没有添加到数据库中,好像描述字段需要是字段.

然后我被重定向到相同的表单,所有输入的数据都消失了,就好像它已添加到数据库中一样。

我检查了设置为 nullable 的字段映射:

/**
 * @var string
 *
 * @ORM\Column(name="description_activite", type="text", nullable=true)
 */
private $descriptionActivite;
public function getDescriptionActivite(){return $this->descriptionActivite;}
public function setDescriptionActivite($value){$this->descriptionActivite=$value;return $this;}

以及 formType 文件中的字段描述:

     ->add('descriptionActivite', 'textarea', array(
            'label' => 'Description',
            'attr' => array(
                'class' => 'form-control',
                // 'required' => false
            )
        ))

我还检查了数据库以防万一,该字段被创建为一个可能为空的字段,我真的不知道这个问题来自哪里。有人遇到过这个吗?谢谢

标签: formssymfony-2.7

解决方案


对于那些遇到同样问题的人,我通过以下方式解决了它:检查数据库是否字段可能为空(不是问题,但稍后会出现)检查注释,查看字段是否设置为可空和 LAST

     ->add('descriptionActivite', 'textarea', array(
        'label' => 'Description',
        'required' => false,
        'attr' => array(
            'class' => 'form-control',
      ) 
    ))

所需的选项放在'attr'数组()中,当它不应该有时,我的错。


推荐阅读