src/Form/RegistrationFormType.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\User;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  6. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  7. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  8. use Symfony\Component\Form\FormBuilderInterface;
  9. use Symfony\Component\Intl\Countries;
  10. use Symfony\Component\OptionsResolver\OptionsResolver;
  11. class RegistrationFormType extends AbstractType
  12. {
  13.     public function buildForm(FormBuilderInterface $builder, array $options): void
  14.     {
  15.         $countries Countries::getNames();
  16.         $builder
  17.             ->add('email'EmailType::class, [
  18.                 'label' => 'Email Address',
  19.                 'attr' => [
  20.                     'class' => 'small mb-1',
  21.                 ],
  22.             ])
  23.             ->add('firstName')
  24.             ->add('lastName')
  25.             ->add('institutionName')
  26.             ->add('mainPhoneNumber')
  27.             ->add('mobilePhoneNumber')
  28.             ->add('referralAgent')
  29.             ->add('invitationCode')
  30.             ->add('notes')
  31.             ->add('sector'ChoiceType::class, [
  32.                 'label' => 'Sector',
  33.                 'placeholder' => 'Select your sector',
  34.                 'choices' => [
  35.                     'Government' => 'Government',
  36.                     'Local Authority' => 'Local_Authority',
  37.                     'Government Agency' => 'Government_Agency',
  38.                     'Bank' => 'Bank',
  39.                     'Listed public company (PLC)' => 'PLC',
  40.                     'Regulated Fund' => 'Regulated_Fund',
  41.                     'Unregulated Fund' => 'Unregulated_Fund',
  42.                     'Fiduciary CSP' => 'Fiduciary_CSP',
  43.                     'Charity' => 'Charity',
  44.                     'Family Office' => 'Family_Office',
  45.                     'Other - non-financial institution' => 'Other_non-financial_institution',
  46.                     'Other - financial institution' => 'Other_financial_institution',
  47.                     'Other' => 'Other',
  48.                 ],
  49.             ])
  50.             ->add('country'ChoiceType::class, [
  51.                 'choices' => array_flip($countries),
  52.                 'label' => 'Country',
  53.                 'placeholder' => 'Select your country',
  54.                 'preferred_choices' => ['GB''US'],
  55.             ])
  56.             ->add('password'PasswordType::class)
  57.             ->add('confirmPassword'PasswordType::class, [
  58.                 'attr' => [
  59.                     'label' => 'Confirm Password',
  60.                     'class' => 'small mb-1',
  61.                 ],
  62.             ])
  63.         ;
  64.     }
  65.     public function configureOptions(OptionsResolver $resolver): void
  66.     {
  67.         $resolver->setDefaults([
  68.             'data_class' => User::class,
  69.         ]);
  70.     }
  71. }