Rozbudowany form w symfony

<?php

namespace AdvancedVerifyFieldBundle\Form\AdvancedVerifyFieldConfig;

use Symfony\Component\Form\AbstractType;

class AdvancedVerifyFieldConfigType extends AbstractType {

    // uchwyt do entity managera
    protected $em;

    public function __construct($em = null) {
        $this->em = $em;
    }

    public function buildForm(FormBuilderInterface $builder, array $options) {
        $builder
                ->add('name', TextType::class, array('label' => 'Nazwa:', 'required' => 'true', 'attr' => array('class' => 'form-control')))
                ->add('description', TextType::class, array('label' => 'Opis:', 'attr' => array('class' => 'form-control')))
                ->add('slug', TextType::class, array('label' => 'Slug:', 'required' => 'true', 'attr' => array('class' => 'form-control', 'id' => 'slug')))
                ->add('status', CheckboxType::class, array('attr' => array('class' => 'checkbox', 'data-toggle' => 'toggle')))
                ->add('defaultHeader', TextareaType::class, array('label' => 'Domyślny Header:', 'required' => false, 'attr' => array('class' => 'form-control')))
                ->add('defaultFooter', TextareaType::class, array('label' => 'Domyślny Footer:', 'required' => false, 'attr' => array('class' => 'form-control')))
                ->add('css', TextareaType::class, array('label' => 'Domyślny CSS:', 'required' => false, 'attr' => array('class' => 'form-control')))
                ->add('scripts', TextareaType::class, array('label' => 'Domyślny JS:', 'required' => false, 'attr' => array('class' => 'form-control')))
                ->add('checkPhone', CheckboxType::class, array('label' => 'Sprawdzanie numeru telefonów:', 'required' => false, 'attr' => array('class' => 'checkbox', 'data-toggle' => 'toggle')))
                ->add('checkPhoneFields', TextType::class, array('label' => 'checkPhoneFields:', 'required' => false, 'attr' => array('class' => 'form-control')))
                ->add('checkMail', CheckboxType::class, array('label' => 'Sprawdzanie numeru telefonów:', 'required' => false, 'attr' => array('class' => 'checkbox', 'data-toggle' => 'toggle')))
                ->add('checkMailFields', TextType::class, array('label' => 'checkMailFields:', 'required' => false, 'attr' => array('class' => 'form-control')))
                ->add('steps', CollectionType::class, [
                    'entry_type' => MultiStepFormStepType::class,
                    'entry_options' => ['label' => false],
                    'allow_add' => true,
                    'allow_delete' => true,
                    'by_reference' => false,
                    'required' => true,
                ])
                ->add('integrations', CollectionType::class, [
                    'entry_type' => MultiStepFormIntegrationType::class,
                    'entry_options' => ['label' => false],
                    'allow_add' => true,
                    'allow_delete' => true,
                    'by_reference' => false,
                    'required' => true,
                ])
                ->add('submit', SubmitType::class, ['label' => 'Zapisz']);
    }

    /**
     * @param OptionsResolverInterface $resolver
     */
    public function configureOptions(OptionsResolver $resolver) {
        $resolver->setDefaults([
            'data_class' => MultiStepForm::class,
        ]);
    }

}
Komentarze wyłączone