src/Form/ContactType.php line 14

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use App\Model\ContactDTO;
  4. use Symfony\Component\Form\AbstractType;
  5. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  6. use Symfony\Component\Form\Extension\Core\Type\TelType;
  7. use Symfony\Component\Form\Extension\Core\Type\TextareaType;
  8. use Symfony\Component\Form\Extension\Core\Type\TextType;
  9. use Symfony\Component\Form\FormBuilderInterface;
  10. use Symfony\Component\OptionsResolver\OptionsResolver;
  11. class ContactType extends AbstractType
  12. {
  13.     public function buildForm(FormBuilderInterface $builder, array $options)
  14.     {
  15.         $locale $options['locale'];
  16.         $builder
  17.             ->add('firstname'TextType::class, [
  18.                 'label' => false,
  19.                 'attr' => [
  20.                     'placeholder' => $locale === 'fr' 'Prénom *' 'Firstname *',
  21.                     'class' => 'w-100'
  22.                 ],
  23.                 'required' => true,
  24.             ])
  25.             ->add('lastname'TextType::class, [
  26.                 'label' => false,
  27.                 'attr' => [
  28.                     'placeholder' => $locale === 'fr' 'Nom *' 'Lastname *',
  29.                     'class' => 'w-100'
  30.                 ],
  31.                 'required' => true
  32.             ])
  33.             ->add('company'TextType::class, [
  34.                 'label' => false,
  35.                 'attr' => [
  36.                     'placeholder' => $locale === 'fr' 'Société' 'Company *',
  37.                     'class' => 'w-100'
  38.                 ],
  39.                 'required' => false
  40.             ])
  41.             ->add('phone'TelType::class, [
  42.                 'label' => false,
  43.                 'attr' => [
  44.                     'placeholder' => $locale === 'fr' 'Tél' 'Phone *',
  45.                     'class' => 'w-100'
  46.                 ],
  47.                 'required' => false
  48.             ])
  49.             ->add('email'EmailType::class, [
  50.                 'label' => false,
  51.                 'attr' => [
  52.                     'placeholder' => $locale === 'fr' 'Mail *' 'Email *',
  53.                     'class' => 'w-100'
  54.                 ],
  55.                 'required' => true
  56.             ])
  57.             ->add('message'TextareaType::class, [
  58.                 'label' => false,
  59.                 'attr' => [
  60.                     'placeholder' => $locale === 'fr' 'Votre message' 'Your message'
  61.                 ],
  62.                 'required' => false
  63.             ])
  64.         ;
  65.     }
  66.     public function configureOptions(OptionsResolver $resolver)
  67.     {
  68.         $resolver->setDefaults([
  69.             'data_class' => ContactDTO::class,
  70.             'locale' => 'locale'
  71.         ]);
  72.     }
  73. }