<?php
namespace App\Form;
use App\Entity\Ticket;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\IsTrue;
use Symfony\Component\Validator\Constraints\Length;
use Symfony\Component\Validator\Constraints\NotBlank;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
class TicketType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('Nom', TextType::class, [
'attr' => [
'placeholder' => "Veuillez saisir votre nom.",
'class' => 'form-control'
],
'constraints' => [
new length([
'min' => 2,
'minMessage' => 'Votre nom doit contenir au moins 2 caractères',
]),
],
'required' => true,
])
->add('Mail', EmailType::class, [
'attr' => [
'placeholder' => "Veuillez saisir votre adresse mail.",
'class' => 'form-control'
],
'constraints' => [
new NotBlank([
'message' => 'Merci de saisir une adresse mail.'
])
],
'required' => true,
])
->add('sujet', ChoiceType::class, [
'choices' => [
'Problème connexion authentification' => 'Probleme_connexion_authentification',
'Modération' => 'Moderation',
'Suggestion' => 'Suggestion',
'Problème de recommandation' => 'Probleme_de_recommandation',
'Fonctionnalités' => 'Fonctionnalites',
'Autres' => 'Autres',
],
])
->add('Commentaire', TextareaType::class, [
'attr' => [
'placeholder' => "Veuillez expliquer votre problème.",
'class' => 'form-control'
],
'constraints' => [
new NotBlank([
'message' => 'Merci d\'expliquer votre problème.'
]),
new Length([
'max' => 4096,
]),
],
'required' => true,
])
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => Ticket::class,
]);
}
}