В Symfony я пытаюсь создать тип, основанный на EntityType. Идея состоит в том, чтобы иметь поле EntityType, параметры которого загружаются через AJAX (используя библиотеку Selectize). Однако, как только опция была выбрана, мне нужно динамически добавить его в свой тип. Для этого я использую eventlistener на FormEvents :: post_submit , чтобы обновить свое поле с помощью опции. К сожалению, поле больше не присутствует в $ form-> getData () после отправки.
my type:
class ClientEntityType extends AbstractType
{
public function __construct(
private readonly ClientsRepository $clientsRepository,
private readonly RouterInterface $router,
) {
}
public function getParent(): string
{
return EntityType::class;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults($this->getOptions());
}
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event): void {
$data = $event->getData();
$form = $event->getForm();
$options = $this->getOptions();
if ($data) {
$client = $this->clientsRepository->find($data);
$choices = [];
$choices[(string) $client] = $client;
$options['choices'] = $choices;
$options['data'] = $client;
}
$form->getParent()->add(
$form->getName(),
self::class,
$options
);
});
}
private function getOptions(): array
{
return [
'class' => Clients::class,
'label' => 'Client',
'required' => false,
'attr' => [
'class' => 'clientSelect',
'data-search-url' => $this->router->generate('admin_client_search'),
],
'placeholder' => 'Choisir une société',
'choices' => [],
];
}
}
< /code>
тип моей формы: < /p>
class InvoiceListType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
// ...
->add('client', ClientEntityType::class);
}
}
< /code>
Мой контроллер: < /p>
$form = $this->createForm(InvoiceListType::class, $data);
if (
$form->handleRequest($request)->isSubmitted()
&& $form->isValid()
) {
$data = $form->getData();
$data['client'] // Is missing!
// But I get the value with:
$form->get('client')->getData();
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... y-sub-type
Отсутствуют данные после самостоятельной работы по пользовательскому суббонскому субъекту ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Отсутствуют данные после самостоятельной работы по пользовательскому суббонскому субъекту
Anonymous » » в форуме Php - 0 Ответы
- 2 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Отсутствуют данные после самостоятельной работы по пользовательскому суббонскому субъекту
Anonymous » » в форуме Php - 0 Ответы
- 1 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Отсутствуют данные после самостоятельной работы по пользовательскому суббонскому субъекту
Anonymous » » в форуме Php - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как реализовать взвешенную потерю для самостоятельной многозадачной работы?
Anonymous » » в форуме Python - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-