2014-03-30 3 views
0

동적 양식에 문제가 있습니다.Symfony2 선택 필드 "이 값은 유효하지 않습니다."

두 개의 선택이 있습니다. 우선 (이름 : 컨트롤러)에는 정적 값이 있습니다. 두 번째 (name : 드라이버)는 첫 번째 select 값을 기반으로 동적으로 값을 갖습니다. 첫 번째 선택을 변경하면 새 값이 초 단위로 생성됩니다. 모든 것은 괜찮을 것이지만 양식은 저장하기를 원하지 않습니다. 나는이 오류를 가지고 :

This value is not valid.

내 폼 빌더 :

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder 
     ->add('controller', null, array(
      'attr' => array(
       'id' => 'controller', 
       'class' => 'form-control' 
      ) 
     )) 
     ->add('driver', 'choice', array(
      'required' => false, 
      'choices' => array(), 
      'attr' => array(
       'id' => 'driver', 
       'class' => 'form-control' 
      ) 
     )) 
     ->add('update', 'submit', array(
      'label' => 'form.btn.edit', 
      'attr' => array(
       'class' => 'btn btn-default' 
      ) 
     )) 
    ; 
} 

/** 
* @param OptionsResolverInterface $resolver 
*/ 
public function setDefaultOptions(OptionsResolverInterface $resolver) 
{ 
    $resolver->setDefaults(array( 
     'data_class' => 'My\ControllerBundle\Entity\Event' 
    )); 
} 

왜 내가 저장할 수 없습니다?

답변

1

문제는 드라이버 필드가 선택 항목에 빈 배열이 있다는 것입니다. 다른 분야에 따라 동적하려면 양식 이벤트를 사용해야합니다

http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html

및 이벤트를 사용하여 동적으로 드라이버 필드를 추가합니다. 여기

당신을 도울 수있는 게시물입니다 :

http://showmethecode.es/php/symfony/symfony2-4-dependent-forms/

+0

감사합니다 ... 문제는 해결 – michal

관련 문제