24

Symfony2 と FOSUserBundle を使用しています。

ドキュメントで詳しく説明されているように、User エンティティの "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;
4

2 に答える 2

59
$builder->add('name', 'text', array('label' => 'form.name','required' => false));
于 2012-08-08T16:14:12.180 に答える