<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use App\Constant\ContactSubjectConstant;
class ContactType extends AbstractType
{
/**
* @param FormBuilderInterface $builder
* @param array $options
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$label = 'label';
$translationDomain = 'translation_domain';
$messages = 'messages';
$required = 'required';
$builder
->add('email', EmailType::class, array($label => 'contact.form.email',$translationDomain => $messages, $required => true))
->add('name', null, array($label => 'contact.form.name',$translationDomain => $messages, $required => true,))
->add('subject', ChoiceType::class, array(
'choices' => ContactSubjectConstant::getValues(),
$translationDomain => $messages,
$required => true,
$label => 'contact.form.subject',
))
->add('message', TextareaType::class, array($label => 'contact.form.message',$translationDomain => $messages))
;
}
/**
* @param OptionsResolver $resolver
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults(array(
'data_class' => null,
));
}
}