src/Form/UserRegistrationType.php line 17

  1. <?php
  2. namespace App\Form;
  3. use App\Entity\Users;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\FormBuilderInterface;
  6. use Symfony\Component\OptionsResolver\OptionsResolver;
  7. use Symfony\Component\Validator\Constraints\Length;
  8. use Symfony\Component\Validator\Constraints\Regex;
  9. use Symfony\Contracts\Translation\TranslatorInterface;
  10. /**
  11.  * Class UserRegistrationType
  12.  * @package App\Form
  13.  */
  14. class UserRegistrationType extends AbstractType
  15. {
  16.     /**
  17.      * @var Translator
  18.      */
  19.     protected $translator;
  20.     /**
  21.      * AuctionVehiclesBiddingType constructor.
  22.      * @param Translator|null $translator
  23.      */
  24.     public function __construct(TranslatorInterface $translatornull)
  25.     {
  26.         $this->translator $translator;
  27.     }
  28.     public function buildForm(FormBuilderInterface $builder, array $options)
  29.     {
  30.         $locale $options['locale'];
  31.         $trans  $this->translator;
  32.         $mobValidation   $trans->trans('you should add your mobile number', [], 'validators');
  33.         $builder->add('mobileNumber'null, array(
  34.             'label'              => 'Mobile Number',
  35.             'translation_domain' => 'messages',
  36.             'required'           => true,
  37.             'constraints'        => array(
  38.                 new Length(array('min' => 9'max' => 10)),
  39.                 new Regex('/^(0)?5\d{8}$/')
  40.             ),
  41.             'attr' => [
  42.                 'minlength'    => 9,
  43.                 'maxlength'    => 10,
  44.                 'pattern'      => '^(0)?5[0-9]{8}$',
  45.                 'validate-msg' => $mobValidation,
  46.                 'class'        => 'form-control',
  47.                 'placeholder'  => '5xxxxxxxx'
  48.             ]
  49.         ));
  50.         $builder->add('userIdentityInfo'UserRegistrationIdentityInfoType::class, array(
  51.             'label'  => false,
  52.             'locale' => $locale
  53.         ));
  54.     }
  55.     /**
  56.      * {@inheritdoc}
  57.      */
  58.     public function configureOptions(OptionsResolver $resolver)
  59.     {
  60.         $resolver->setDefaults(array(
  61.             'data_class'         => Users::class,
  62.             'translation_domain' => 'clients',
  63.             'locale'             => 'en',
  64.             'csrf_protection' => true,
  65.             'csrf_field_name' => '_token',
  66.             // important part; unique key
  67.             'csrf_token_id'   => 'form_intention',
  68.         ));
  69.     }
  70.     /**
  71.      * {@inheritdoc}
  72.      *
  73.      * @return null|string
  74.      */
  75.     public function getBlockPrefix()
  76.     {
  77.         return 'appbundle_users_registration';
  78.     }
  79. }