<?php
/**
* Contact Type
*
* @author Vincent van Waasbergen <v.vanwaasbergen@visualmedia.nl>
*/
namespace App\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Routing\RouterInterface;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Validator\Constraints\NotBlank;
use VisualMedia\LisaBundle\Form\Type\GoogleRecaptchaType;
/**
* Contact Type
*/
class ContactType extends AbstractType
{
/**
* Router
* @var RouterInterface
*/
protected $router;
/**
* Constructor
*/
public function __construct(RouterInterface $router)
{
$this->router = $router;
}
/**
* {@inheritDoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder->add('contact', TextType::class, array(
'label' => 'contact.contact',
'trim' => true,
));
$builder->add('email', EmailType::class, array(
'label' => 'contact.email',
'trim' => true,
));
$builder->add('phone', TextType::class, array(
'label' => 'contact.phone',
'trim' => true,
));
$builder->add('message', TextareaType::class, array(
'label' => 'contact.message',
'trim' => true,
));
$builder->add('google_recaptcha', GoogleRecaptchaType::class, array());
$builder->add('submit', SubmitType::class, array('label' => 'contact.submit'));
}
/**
* {@inheritDoc}
*/
public function getName(): string
{
return 'contact';
}
/**
* {@inheritDoc}
*/
public function configureOptions(OptionsResolver $resolver) : void
{
$resolver->setDefaults(array(
'translation_domain' => 'forms',
));
}
}