src/Form/UserType.php line 37

Open in your IDE?
  1. <?php
  2. // src/Doxa/DataBundle/Form/UserType.php
  3. namespace App\Form;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\FormBuilderInterface;
  6. use Symfony\Component\Form\Extension\Core\Type\TextType;
  7. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  8. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  9. use Symfony\Component\Form\Extension\Core\Type\NumberType;
  10. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  11. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  12. use Symfony\Bridge\Doctrine\Form\Type\EntityType;
  13. use Symfony\Component\OptionsResolver\OptionsResolver;
  14. use Doctrine\ORM\EntityRepository;
  15. use App\Entity\User;
  16. use App\Entity\Country;
  17. class UserType extends AbstractType
  18. {
  19.     public function buildForm(FormBuilderInterface $builder, array $options)
  20.     {
  21.         $isDoxado =  $options['is_doxado'];
  22.         $builder
  23.             ->add('email'EmailType::class, ['label' => 'signup_doxado.email''attr' => ['maxlength' => 100'placeholder' => $isDoxado 'signup_doxado.email_hint' 'Ingresa tu dirección de e-mail' ] , ])
  24.             ->add('firstName'TextType::class, ['label' => 'signup_doxado.first_name''attr' => ['maxlength' => 100,  'placeholder' => 'signup_doxado.first_name_hint' ] ,])
  25.             ->add('lastName'TextType::class, ['label' => 'signup_doxado.last_name''attr' => ['maxlength' => 100,  'placeholder' => 'signup_doxado.last_name_hint' ] ,])
  26.             ->add('plainPassword'PasswordType::class, ['label' => 'signup_doxado.password''attr' => [ 'maxlength' => 100'placeholder' => 'signup_doxado.password_hint' ] ,])
  27.             ->add('plainPassword2'PasswordType::class, ['label' => 'signup_doxado.password''attr' => [ 'maxlength' => 100'placeholder' => 'signup_doxado.password_hint' ] ,])
  28.             ->add('phoneNumberAreaCode'EntityType::class, [ 'class' => Country::class, 'choice_label' => function($el){
  29.                 return ("+" $el->getPhoneCode());
  30.             }, 'label' => 'signup_doxado.area_code''placeholder' => '''attr' => [], 'query_builder' => function (EntityRepository $er) {
  31.                 return $er->createQueryBuilder('c')
  32.                 ->andWhere('c.phoneCode IS NOT NULL')
  33.                 ->orderBy('c.phoneCode''ASC');
  34.                 // ->groupBy('c.phoneCode');
  35.             }, 'choice_attr' => function($val$key$index){
  36.                 return ['data-country' => strtolower($val->getCountryCode())];
  37.             } ], )
  38.             ->add('phoneNumber'TextType::class, ['label' => 'signup_doxado.phone_number''attr' => ['maxlength' => 10,  'placeholder' => 'signup_doxado.phone_number_hint' ] ,])
  39.         ;
  40.     }
  41.    public function configureOptions(OptionsResolver $resolver)
  42.     {
  43.         $resolver->setDefaults(array(
  44.             'data_class' => User::class,
  45.             'is_doxado' => false,
  46.  
  47.         ));
  48.     }        
  49. }