<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TelType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Validator\Constraints\Regex;
use Symfony\Component\Validator\Constraints as Assert;
class KontactForm extends AbstractType
{
const DEFAULT_TEXT_ERROR = 'Pole obowiązkowe';
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('phone', TelType::class, [
'label' => 'Telefon',
'required' => true,
'constraints' => array(
new NotBlank(['message' => 'Numer telefonu jest wymagany.']),
new Regex([
'pattern' => '/^\+?[0-9\s\-]{7,15}$/',
'message' => 'Podaj poprawny numer telefonu.',
]),
)
]);
$builder->add('mail', EmailType::class, [
'label' => 'Adres e-mail',
'required' => true,
'constraints' => array(
new NotBlank(array('message' => self::DEFAULT_TEXT_ERROR)),
new Assert\Email(['message'=>'Niepoprawny adres email'])
)
]);
$builder->add('opis', TextareaType::class, [
'label' => 'opis',
'required' => true,
'constraints' => array(
new NotBlank(array('message' => self::DEFAULT_TEXT_ERROR))
)
]);
$builder->add('website', TextType::class, [
'mapped' => false,
'required' => false,
'label' => false,
'attr' => ['style' => 'display:none'],
]);
$builder->add('sent', SubmitType::class, [
'label' => 'zamów bezpłatną wycenę',
]);
}
}