src/Form/KontactForm.php line 17

Open in your IDE?
  1. <?php
  2. namespace App\Form;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\Extension\Core\Type\EmailType;
  5. use Symfony\Component\Form\Extension\Core\Type\SubmitType;
  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\Validator\Constraints\NotBlank;
  11. use Symfony\Component\Validator\Constraints\Regex;
  12. use Symfony\Component\Validator\Constraints as Assert;
  13. class KontactForm extends AbstractType
  14. {
  15.     const DEFAULT_TEXT_ERROR 'Pole obowiązkowe';
  16.     public function buildForm(FormBuilderInterface $builder, array $options)
  17.     {
  18.         $builder->add('phone'TelType::class, [
  19.            'label' => 'Telefon',
  20.            'required' => true,
  21.             'constraints' => array(
  22.                 new NotBlank(['message' => 'Numer telefonu jest wymagany.']),
  23.                 new Regex([
  24.                     'pattern' => '/^\+?[0-9\s\-]{7,15}$/',
  25.                     'message' => 'Podaj poprawny numer telefonu.',
  26.                 ]),
  27.             )
  28.         ]);
  29.         $builder->add('mail'EmailType::class, [
  30.             'label' => 'Adres e-mail',
  31.             'required' => true,
  32.             'constraints' => array(
  33.                 new NotBlank(array('message' => self::DEFAULT_TEXT_ERROR)),
  34.                 new Assert\Email(['message'=>'Niepoprawny adres email'])
  35.             )
  36.         ]);
  37.         $builder->add('opis'TextareaType::class, [
  38.            'label' => 'opis',
  39.            'required' => true,
  40.             'constraints' => array(
  41.                 new NotBlank(array('message' => self::DEFAULT_TEXT_ERROR))
  42.             )
  43.         ]);
  44.         $builder->add('website'TextType::class, [
  45.                 'mapped' => false,
  46.                 'required' => false,
  47.                 'label' => false,
  48.                 'attr' => ['style' => 'display:none'],
  49.             ]);
  50.         $builder->add('sent'SubmitType::class, [
  51.             'label' => 'zamów bezpłatną wycenę',
  52.         ]);
  53.     }
  54. }