src/Form/ContactType.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Model\Contact;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  6. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  7. use Symfony\Component\Form\Extension\Core\Type\TextType;
  8. use Symfony\Component\Form\FormBuilderInterface;
  9. use Symfony\Component\OptionsResolver\OptionsResolver;
  10. use Symfony\Component\Validator\Constraints as Assert;
  11. class ContactType extends AbstractType
  12. {
  13.     public function buildForm(FormBuilderInterface $builder, array $options)
  14.     {
  15.         $builder
  16.             ->add('firstname'TextType::class, [
  17.                 'label' => 'form.contact.firstname',
  18.                 'translation_domain' => 'form',
  19.                 'constraints' => [
  20.                     new Assert\NotBlank(['message' => 'Votre prénom est obligatoire']),
  21.                     new Assert\Regex(['pattern' => '/^[a-zA-Z-ëêéèâàäôïîç ]*$/''message' => 'Les chiffres et les caractères spéciaux ne sont pas autorisés']),
  22.                 ],
  23.             ])
  24.             ->add('lastname'TextType::class, [
  25.                 'label' => 'form.contact.lastname',
  26.                 'translation_domain' => 'form',
  27.                 'constraints' => [
  28.                     new Assert\NotBlank(['message' => 'Votre nom est obligatoire']),
  29.                     new Assert\Regex(['pattern' => '/^[a-zA-Z-ëêéèâàäôïîç ]*$/''message' => 'Les chiffres et les caractères spéciaux ne sont pas autorisés']),
  30.                 ],
  31.             ])
  32.             // ->add('companyName', TextType::class, [
  33.             //     'label' => 'form.register.company_name',
  34.             //     'translation_domain' => 'form',
  35.             //     'constraints' => [
  36.             //         new Assert\NotBlank(['message' => 'La raison sociale est obligatoire.']),
  37.             //     ],
  38.             // ])
  39.             ->add('email'EmailType::class, [
  40.                 'label' => 'form.contact.email',
  41.                 'translation_domain' => 'form',
  42.                 'constraints' => [
  43.                     new Assert\NotBlank(['message' => 'Votre adresse email est obligatoire.']),
  44.                     new Assert\Email(),
  45.                 ]
  46.             ])
  47.             ->add('subject'TextType::class, [
  48.                 'label' => 'form.contact.subject',
  49.                 'translation_domain' => 'form',
  50.                 'constraints' => [
  51.                     new Assert\NotBlank(['message' => 'L\'objet de votre demande est obligatoire.']),
  52.                 ]
  53.             ])
  54.             ->add('message'TextareaType::class, [
  55.                 'label' => 'form.contact.message',
  56.                 'translation_domain' => 'form',
  57.                 'constraints' => [
  58.                     new Assert\NotBlank(['message' => 'Votre message est obligatoire.']),
  59.                 ]
  60.             ])
  61.         ;
  62.     }
  63.     public function configureOptions(OptionsResolver $resolver)
  64.     {
  65.         $resolver->setDefaults([
  66.             'data_class' => Contact::class,
  67.             'validation_groups' => ['Default'],
  68.         ]);
  69.     }
  70. }