2012-08-08 5 views
20

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; 

답변

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

일을 - 어쩌면 이것은 단지 폼 요소에 HTML5 유효성 검사를 중지하도록 추가 할 수있다. 엔티티가 유지 될 수 있으려면 엔티티의 모든 어설 션 등이 여전히 켜져 있고 유효해야합니다. – insertusernamehere

+3

유효성 검사 그룹을 통해이를 수행 할 수있는 방법이 있습니까? html5 필수 속성에 영향을 미치게 할 수는 없으므로 검증 그룹이 나를 쓸모 없게 만듭니다. –

관련 문제