src/Form/RegistrationForm.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use Doctrine\ORM\EntityRepository;
  4. use Symfony\Component\Form\AbstractType;
  5. use Doctrine\Persistence\ObjectManager;
  6. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  7. use Symfony\Component\Form\FormBuilderInterface;
  8. use Symfony\Component\OptionsResolver\OptionsResolver;
  9. use Symfony\Component\Form\Extension\Core\Type\TextType;
  10. use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
  11. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  12. use Symfony\Component\Form\Extension\Core\Type\HiddenType;
  13. class RegistrationForm extends AbstractType
  14. {
  15.     private $manager;
  16.     public function __construct(ObjectManager $manager) {
  17.         $this->manager $manager;
  18.     }
  19.     public function buildForm(FormBuilderInterface $builder, array $options)
  20.     {
  21.         $builder
  22.             ->add('email'EmailType::class, array(
  23.                 'label' => 'Email',
  24.                 'required' => true,
  25.                 'attr' => array(
  26.                     'class' => 'form-control data-hj-allow',
  27.                     'placeholder' => 'Please Enter Your Email Address'
  28.                 )
  29.             ))
  30.             ->add('first_name'TextType::class, array(
  31.                 'label' => 'First Name',
  32.                 'required' => true,
  33.                 'attr' => array(
  34.                     'class' => 'form-control data-hj-allow',
  35.                     'placeholder' => 'Please Enter You First Name'
  36.                 )
  37.             ))
  38.             ->add('last_name'TextType::class, array(
  39.                 'label' => 'Last Name',
  40.                 'required' => true,
  41.                 'attr' => array(
  42.                     'class' => 'form-control data-hj-allow',
  43.                     'placeholder' => 'Please Enter You Last Name'
  44.                 )
  45.             ))
  46.             ->add('id'HiddenType::class, array(
  47.                 'mapped' => false,
  48.                 'required' => false
  49.             ))
  50.             ->add('password'RepeatedType::class, [
  51.                 'type' => PasswordType::class,
  52.                 'invalid_message' => 'The password fields must match.',
  53.                 'options' => ['attr' => ['class' => 'password-field form-control data-hj-allow']],
  54.                 'required' => true,
  55.                 'first_options'  => ['label' => 'Password' 'attr' => [ 'class' => 'form-control data-hj-allow',  'placeholder' => 'Put a Secured Password']],
  56.                 'second_options' => ['label' => 'Repeat Password''attr' => [ 'class' => 'form-control data-hj-allow',  'placeholder' => 'Confirm Password']]
  57.             ]);
  58.     }
  59.     public function getBlockPrefix()
  60.     {
  61.         return 'registrationForm';
  62.     }
  63.     public function configureOptions(OptionsResolver $resolver)
  64.     {
  65.         $resolver->setDefaults(array(
  66.             'data_class'       => 'App\Entity\UserEntity',
  67.             'csrf_protection' => true,
  68.             'csrf_field_name' => '_token',
  69.             'allow_extra_fields' => true,
  70.             // a unique key to help generate the secret token
  71.             'intention'       => 'userEntity_intention'
  72.         ));
  73.     }
  74. }