0

我正在尝试创建一个包含一些可选字段(将它们留空)的表单,为此我在表单构建器中添加了 required => false 选项...

$builder->add('twitter', 'url', array('required' => 'false'));

该实体没有任何验证约束...

/**
 * @var string
 *
 * @ORM\Column(name="twitter", type="string", length=50)
 */
private $twitter;

还尝试使用调试 true/false 清除 dev 中的缓存。但是表单在加载时仍然具有必需的属性:$

<input type="url" id="post_add_twitter" name="post_add[twitter]" required="required" />

我的设置通过了php app/check.php

我做错了什么?

已编辑:Symfony 2.1.7 版,PHP 5.4.7 版

4

1 回答 1

3

'required' 属性采用布尔值,而不是字符串:

$builder->add('twitter', 'url', array('required' => false));

我没有看得太深,但我想这个属性在某些时候是类型转换的,这意味着任何字符串(''除外)都会评估为真,并强制你的字段被要求

于 2013-01-30T00:25:10.203 回答