Извлечение данных из форм ввода - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь извлечь данные из форм ввода, созданных с использованием symfony

Вот мой FormUploaderType:

class FormUploaderType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('service', ChoiceType::class, [
                'placeholder'   => 'Wybierz serwis',
                'choices'       => [
                    'home'      => 'home',
                    'az'        => 'az',
                    'ionos.bg'  => 'ionosbg',
                    'ionos.ro'  => 'ionosro',
                    'ionos.hu'  => 'ionoshu',
                    ],
                'mapped'        => false,
            ])
            ->add('date', DateType::class)
            ->add('terms', FileType::class)
            ->add('button', SubmitType::class);
    }

А вот как выглядит моя форма в html:

enter image description here

Я пытаюсь получить данные из входных данных form_uploader_date, но эта строка кода:

$date = $form->get('form_uploader')->getData();

или:

$date = $form->get('form_uploader[date]')->getData();

, похоже, не работает ... Я не знаю, что делать ...

1 Ответ

2 голосов
/ 23 апреля 2020

Вы обрабатывали запрос? Вы должны сделать что-то вроде этого:

$form = $this->createForm(CLASS);
$form->handleRequest($request);` // you should inject Request from HttpFoundation namespace

После этого проверьте, является ли ваш запрос POST следующим образом:

if($form->isSubmitted() & $form->isValid()) {
    $data = $form->getData(); 
// This array holds all your data. 
// Use this instead of accesing each element as $form->get('property-name')->getData();
}

Примечание. Если ваш класс формы связан с сущностью / модель, тогда эта форма будет отображаться в этом классе. В противном случае это будет просто массив. Вам не нужно получать к нему доступ таким образом. Более того, вы можете использовать функции dump() или dd() (для Symfony 4.x +) для выгрузки содержимого в симпатичном формате.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...