src/Form/LoginType.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Beans\Login;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\FormBuilderInterface;
  6. use Symfony\Component\OptionsResolver\OptionsResolver;
  7. use Symfony\Component\Form\FormEvent;
  8. use Symfony\Component\Form\FormEvents;
  9. use Symfony\Component\Form\Extension\Core\Type\PasswordType;
  10. use Symfony\Component\Form\Extension\Core\Type\TextType;
  11. class LoginType extends AbstractType
  12. {
  13.     public function buildForm(FormBuilderInterface $builder, array $options)
  14.     {
  15.         $builder
  16.             ->add('username'TextType::class, array(
  17.                     'label' => 'identifiant',
  18.                     'attr' => [
  19.                         'placeholder' => 'identifiant',
  20.                     ],
  21.                 ))
  22.                 
  23.             ->add('password'PasswordType::class, array(
  24.                     'label' => 'mot de passe',
  25.                     'attr' => [
  26.                         'placeholder' => 'mot de passe',
  27.                     ],
  28.                 ))
  29.             ->add('passhash')    
  30. //        ;
  31. //        
  32. //          -----------------------------------------------
  33. //          pour crypter le password avant de l'envoyer'
  34.             ->addEventListener(FormEvents::PRE_SUBMIT  
  35.                 function (FormEvent $event) {
  36.                     $form $event->getForm();
  37.                     $data $event->getData();
  38.                     $user $data['username'];                  
  39.                     $pass $data['password'];                  
  40.                     $pass password_hash($passPASSWORD_BCRYPT);
  41. //                    $data['password'] = $pass;
  42.                     $data['passhash'] = $pass;
  43.                     $event->setData($data);
  44. //                    $form->setData($login);
  45.                 })
  46. //          -----------------------------------------------
  47.                 
  48.             ->getForm();        
  49.         
  50.         
  51.     }
  52.     public function configureOptions(OptionsResolver $resolver)
  53.     {
  54.         $resolver->setDefaults([
  55.             'data_class' => Login::class,
  56.         ]);
  57.     }
  58. }