Как добавить другое значение поля в entry_options - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть 1 дочерний тип, который должен получить значение поля типа.

 $builder->add('rows', TableCollectionType::class, array(
     'entry_type' => HomeType::class,
     'entry_options' => ['test' => $test]
 ))
 ->add('type', HiddenType::class, [
     'constraints' => [
         new NotBlank(),
         new Choice(TypeClassifier::VALID_TYPES)
      ]
 ]);

попытался добавить обработчик событий, но безуспешно:

$form->get('rows')->add('edit_type', HiddenType::class, ['data' => $data['type']]);

Есть ли возможность передать значение type в дочерний тип?

1 Ответ

0 голосов
/ 24 сентября 2019

Я хотел проверить, используя этот параметр.Так что исправлена ​​проблема добавления обратного вызова к родительскому типу:

 $builder->add('rows', TableCollectionType::class, array(
    'entry_type' => HomeType::class,
    'constraints' => [new Callback([$this, 'validateTest'])]
 ))

, тогда в методе validateTest вы можете получить тип:

public function validateCosts($rows, ExecutionContext $context){
     $form = $context->getRoot();
     $data = $form->getData();
     $type = $data['type];
}
...