2012-03-07 2 views
3

У меня есть поле в моей Контакт лица:Почему мое поле выбора по-прежнему требуется?

/** 
* @ORM\Column(type="string", length=6, nullable=true) 
* @Assert\Choice(choices = {"male", "female"}) 
*/ 
protected $gender; 

И форма для создания контактов:

$builder->add('firstName') 
       ->add('lastName') 
       ->add('email') 
       ->add('gender','choice',array(
         'choices' => array('male' => 'male', 'female' => 'female'), 
         'required' => false, 
        )); 

Это должно привести к НЕ обязательное поле AFAIK. Пока форма говорит мне, что я должен выбрать пол. Любые идеи?

ответ

3

Вы должны сделать Assert \ Выбор аннотаций совместима с обнуляемым значением:

/** 
* @ORM\Column(type="string", length=1, nullable=true) 
* @Assert\Choice(choices = {"male", "female", null}) 
*/ 
protected $gender; 
+0

Соррите !, Я изменил код, чтобы сделать его более понятным, к сожалению, я испортил его, и поэтому ваш ответ правильный, но решает другую проблему. Я только что редактировал свой вопрос, теперь он представляет мою проблему REAL. – stoefln

+2

Возможно, аннотация Assert \ Choices несовместима с нулевым значением. Или попробуйте эту аннотацию @Assert \ Choice (выборы = {"мужчина", "женщина", null}) – AlterPHP

+0

спасибо- это сработало! – stoefln

Смежные вопросы