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;