<?php
namespace w3des\AdminBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\FormType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\OptionsResolver\OptionsResolver;
use w3des\AdminBundle\Validator\IsTrueV3;
class ContactType extends AbstractType
{
/**
* {@inheritdoc}
*/
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('name', TextType::class, [
'label' => 'form.name',
'attr' => [
'placeholder' => 'form.name'
],
'required' => true
]);
$builder->add('email', EmailType::class, [
'label' => 'form.email',
'attr' => [
'placeholder' => 'form.email'
],
'required' => false
]);
$builder->add('phone', TextType::class, [
'label' => 'form.phone',
'attr' => [
'placeholder' => 'form.phone'
],
'required' => false
]);
$builder->add('subject', TextType::class, [
'label' => 'form.subject',
'attr' => [
'placeholder' => 'form.subject'
],
'required' => false
]);
$builder->add('content', TextareaType::class, [
'label' => 'form.message',
'attr' => [
'placeholder' => 'form.message',
'rows' => 1
]
]);
$cnt = new IsTrueV3();
$cnt->message = 'form.invalid_captcha';
$builder->add('recaptcha', RecaptchaV3Ttype::class, [
'mapped' => false,
'required' => true,
'constraints' => array(
$cnt
),
'action_name' => $options['module'],
'label' => false,
]);
}
public function getParent()
{
return FormType::class;
}
/**
* {@inheritDoc}
*/
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'module' => 'main'
]);
}
}