src/Form/UserType.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Entity\User;
  4. use Symfony\Component\Form\Extension\Core\Type\TextType;
  5. use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
  6. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  7. use Symfony\Component\Form\Extension\Core\Type\NumberType;
  8. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  9. use Symfony\Component\Form\AbstractType;
  10. use Symfony\Component\Form\FormBuilderInterface;
  11. use Symfony\Component\OptionsResolver\OptionsResolver;
  12. use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
  13. class UserType extends AbstractType
  14. {
  15.     public function buildForm(FormBuilderInterface $builder, array $options): void
  16.     {
  17.         $builder
  18.             ->add('firstName'TextType::class, array(
  19.                 'label' => 'First Name',
  20.                 'required'=>true,
  21.             ))
  22.             ->add('surName'TextType::class, array(
  23.                 'label' => 'Last Name',
  24.                 'required'=>true,
  25.             ))
  26.             ->add('organization'TextType::class, array(
  27.                 'label' => 'Organization',
  28.                 'required'=>true,
  29.             ))
  30.             ->add('phone'TextType::class, array(
  31.                 'label' => 'Phone',
  32.                 'required'=>true,
  33.             ))
  34.             ->add('email'EmailType::class, array(
  35.                 'label' => 'Email',
  36.                 'required'=>true,
  37.             ))
  38.             ->add('username'TextType::class, array(
  39.                 'label' => 'Login',
  40.                 'required'=>true,
  41.             ))
  42.             //->add('roles')
  43.             //->add('password')
  44.             ->add('password'RepeatedType::class, array(
  45.                 'type' => PasswordType::class,
  46.                 'invalid_message' => 'The password fields must match.',
  47.                 'options' => array('attr' => array('class' => 'password-field')),
  48.                 'required' => true,
  49.                 'first_options'  => array('label' => 'Choose a password'),
  50.                 'second_options' => array('label' => 'Repeat your password'),
  51.             ))
  52.         ;
  53.     }
  54.     public function configureOptions(OptionsResolver $resolver): void
  55.     {
  56.         $resolver->setDefaults([
  57.             'data_class' => User::class,
  58.             'constraints' => [
  59.                 new UniqueEntity(['username']),
  60.             ],
  61.         ]);
  62.     }
  63. }