<?php
namespace App\Form\Customer;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Karser\Recaptcha3Bundle\Form\Recaptcha3Type;
use Karser\Recaptcha3Bundle\Validator\Constraints\Recaptcha3;
class LoginType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$translator = $options['translator'];
$locale = $options['locale'];
$builder->add('email',EmailType::class,[
'label'=>false,
'attr'=>[
'class'=>'field-email',
'placeholder'=>$translator->trans('Votre adresse email'),
'data-validation'=>'email'
],
])
->add('password',PasswordType::class,[
'label'=>false,
'attr'=>[
'class'=>'field-pwd',
'placeholder'=>$translator->trans('Votre mot de passe'),
'data-validation'=>'required',
'data-validation-length'=>'max50'
],
])
// ->add('captcha', Recaptcha3Type::class, [
// 'constraints' => new Recaptcha3 ([
// 'message' => $translator->trans('Votre ordinateur ou votre réseau envoie peut-être des requêtes automatisées, veuillez contacter notre équipe commerciale.'),
// 'messageMissingValue' => $translator->trans('La valeur CAPTCHA est manquante.'),
// ]),
// 'action_name' => 'login',
// 'locale' => $locale,
// 'attr' => [
// 'data-validation'=>'email',
// ]
// ])
->add('submit',SubmitType::class,[
'label'=>$translator->trans("M'identifier"),
'attr'=>[
'class'=>'button'
],
]);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'csrf_protection' => true,
'csrf_field_name' => '_token',
// a unique key to help generate the secret token
'csrf_token_id' => 'login',
));
$resolver->setRequired('translator');
$resolver->setRequired('locale');
}
/**
* {@inheritdoc}
*/
public function getBlockPrefix()
{
return 'customer_login';
}
}