2012-08-08 6 views
20

私はSymfony2とFOSUserBundleを使用しています。フィールドを必要としないようにする

ドキュメントの詳細と同様に、私は上書きして、Userエンティティに「名前」プロパティを作成しました。

私はすべて必要があり、最終的にはそのフィールドをフォームビューに表示させます。

事は:私が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; 

答えて

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

1 - 多分これは単なるフォーム要素のHTML5-検証を停止することを追加することがあります。エンティティからのすべてのアサートなどはまだオンになっており、エンティティを永続化する前に有効である必要があります。 – insertusernamehere

+3

検証グループを介して、それを行う方法はありますか?私はhtml5に必要な属性を有効にしているように見えないので、検証グループは私の役に立たないところになります。 –

関連する問題