如何在symfony中允许复选框为空?

Squ*_*zic 12 php symfony

我在我的应用程序中的实体中定义了以下变量.我有这个,以及其他可以通过表单界面更新的字段,我希望能够在该表单上选中和取消选中此框.

我可以勾选方框并提交表格,但似乎当我取消选中此框时,我无法提交表格.它给了我一个Please check this box if you want to proceed.

/**
 * @var boolean $updatesNeeded
 *
 * @ORM\Column(name="updates_needed", type="boolean", nullable=false)
 */
private $updatesNeeded;
Run Code Online (Sandbox Code Playgroud)

我试图改变nullable=falsenullable=true和更新的模式,但它似乎并没有工作.任何想法将不胜感激.

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;

class BlahType extends AbstractType
{
    /**
     * @param \Symfony\Component\Form\FormBuilder $builder
     * @param array                               $options
     */
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
            ->add('stuff')
            ->add('updatesNeeded', 'choice', array('required' => false))
            ->add('anothervar');
    }
}
Run Code Online (Sandbox Code Playgroud)

MDr*_*tte 26

此错误是因为输入标有HTML5属性required="required".在表单类型中,您可以通过required在此复选框上将选项设置为false 来禁用此功能.

$builder->add('updatesNeeded', 'choice', array('required' => false));
Run Code Online (Sandbox Code Playgroud)

http://symfony.com/doc/current/book/forms.html#book-forms-html5-validation-disable

  • 我记得也遇到了必需属性的问题.我最终用`<form novalidate ...>`禁用了表单的客户端验证. (2认同)

小智 -1

只使用怎么样nullable=""