2014-10-30 4 views
0

Symfony2에서 미리 작성된 레코드에 대한 이미지 업로드가 포함 된 양식이 있습니다.아직 설정하지 않은 경우 symfony 양식 유효성 검사 이미지가 필요합니다.

양식이 처음 렌더링 될 때 이미지가 설정되지 않으며 양식 제출시 필수 항목이어야합니다. 후속 양식 제출시 파일이 이미 업로드되고 경로가 저장된 경우 양식 제출이 통과해야합니다.

이 조건부 유효성 검사를 구현하는 방법을 파악할 수 없습니다. 나의 양식은 그러나 필요한

public function buildForm(FormBuilderInterface $builderInterface, array $options) 
{ 
    parent::buildForm($builderInterface, $options); 
    $builderInterface 
     ->add('logoFile', 'file', array(
      'required' => true, 
     )) 
    // ... 
} 

가 기업의 특정 필드가 채워지지 않은 경우에만 시행해야이 포함되어 있습니다.

답변

1

너는 Symfony's form events을 봐야한다. 귀하의 경우에는

, 나는 일처럼 생각 :

public function buildForm(FormBuilderInterface $builder, array $options) 
{ 
    $builder->addEventListener(FormEvents::/*event*/, function (FormEvent $event) { 
     $object = $event->getData(); 
     $form = $event->getForm(); 

     $form->add('logoFile', 'file', array(
      'required' => !$object || !$object->getLogoFile(), 
     )); 
    }); 
} 

는 사용자의 요구에 맞게 수

관련 문제