src/Aqarmap/Bundle/UserBundle/Form/QuickRegistrationFormType.php line 12

Open in your IDE?
  1. <?php
  2. namespace Aqarmap\Bundle\UserBundle\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  5. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  6. use Symfony\Component\Form\Extension\Core\Type\TextType;
  7. use Symfony\Component\Form\FormBuilderInterface;
  8. use Symfony\Component\OptionsResolver\OptionsResolver;
  9. class QuickRegistrationFormType extends AbstractType
  10. {
  11.     public function buildForm(FormBuilderInterface $builder, array $options): void
  12.     {
  13.         if (isset($options['onlyLeadData']) && true == $options['onlyLeadData']) {
  14.             $builder
  15.                 ->add('fullName'TextType::class)
  16.                 ->add('phoneNumber'TextType::class, ['attr' => ['maxlength' => 15'minlength' => 7]])
  17.                 ->add('countryCode'TextType::class, ['mapped' => false'attr' => ['maxlength' => 8'minlength' => 2]])
  18.             ;
  19.         } elseif (isset($options['onlyEmail']) && true == $options['onlyEmail']) {
  20.             $builder
  21.                 ->add('email'EmailType::class)
  22.             ;
  23.         } else {
  24.             $builder
  25.                 ->add('fullName'TextType::class)
  26.                 ->add('phoneNumber'TextType::class, ['attr' => ['maxlength' => 15'minlength' => 7]])
  27.                 ->add('language'HiddenType::class)
  28.                 ->add('email'EmailType::class)
  29.                 ->add('countryCode'TextType::class, ['mapped' => false'attr' => ['maxlength' => 8'minlength' => 2]])
  30.             ;
  31.         }
  32.     }
  33.     public function configureOptions(OptionsResolver $resolver): void
  34.     {
  35.         $resolver->setDefaults([
  36.             'data_class' => 'Aqarmap\Bundle\UserBundle\Entity\User',
  37.             'validation_groups' => ['landing-page''quick-registration'],
  38.             'csrf_protection' => false,
  39.             'onlyLeadData' => false,
  40.             'onlyEmail' => false,
  41.         ]);
  42.     }
  43.     public function getBlockPrefix(): string
  44.     {
  45.         return 'register';
  46.     }
  47. }