强制不要求字段

时间:2012-08-08 15:58:36

标签: php symfony fosuserbundle

我正在使用Symfony2和FOSUserBundle。

正如文档中所详述,我已在用户实体中覆盖并创建了“name”属性。

我做了所有必要的事情,最后让这个字段显示在表单视图中。

问题是:当我转到form_widget(form.name)并生成输入html标记时,会在其中生成required =“required”属性。这会导致引擎在未填充字段时使输入变红。

如何告诉Symfony2不要强制使用该字段?我猜它必须在这里:

        parent::buildForm($builder, $options);

    // add your custom field
    $builder->add('name', 'text', array('label' => 'form.name'));
    $builder->remove('username');

或在这里:

    /**
 * @ORM\Column(type="string", length="255")
 *
 * @Assert\MinLength(limit="0", message="The name is too short.", groups={"Registration", "Profile"})
 * @Assert\MaxLength(limit="255", message="The name is too long.", groups={"Registration", "Profile"})
 */
private $name;

2 个答案:

答案 0 :(得分:50)

$builder->add('name', 'text', array('label' => 'form.name','required' => false));

答案 1 :(得分:0)

使用Symfony \ Component \ Validator \ Constraints \ NotNull;

$ builder-> add('name','text',array('label'=>'form.name', 'constraints'=> new NotNull()));