deblan.io-murph/src/Form/ContactType.php

98 lines
2.4 KiB
PHP

<?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\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\Email;
use Symfony\Component\Validator\Constraints\NotBlank;
use Gregwar\CaptchaBundle\Type\CaptchaType;
class ContactType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add(
'name',
TextType::class,
[
'label' => 'Nom',
'required' => true,
'attr' => [
],
'constraints' => [
new NotBlank(),
],
]
);
$builder->add(
'subject',
TextType::class,
[
'label' => 'Sujet',
'required' => true,
'attr' => [
],
'constraints' => [
new NotBlank(),
],
]
);
$builder->add(
'email',
EmailType::class,
[
'label' => 'E-mail',
'required' => true,
'attr' => [
],
'constraints' => [
new NotBlank(),
new Email(),
],
]
);
$builder->add(
'message',
TextareaType::class,
[
'label' => 'Message',
'required' => true,
'attr' => [
],
'constraints' => [
new NotBlank(),
],
]
);
$builder->add(
'captcha',
CaptchaType::class,
[
'invalid_message' => 'Code invalide',
'label' => 'Captcha',
'max_front_lines' => 1,
'width' => 140,
'height' => 50,
'length' => 3,
'reload' => true,
'as_url' => true,
]
);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
]);
}
}