Ceci est une ancienne révision du document !
Le Fichier xxxFormType.php
Exemple de fichier
- TestFormType.php
<?php namespace App\Form; use App\Entity\Test; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\CheckboxType; use Symfony\Component\Form\Extension\Core\Type\EmailType; use Symfony\Component\Form\Extension\Core\Type\HiddenType; use Symfony\Component\Form\Extension\Core\Type\SubmitType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolver; class TestMailFormType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options): void { $builder ->add('num', HiddenType::class) ->add('mail', EmailType::class, [ 'label' => 'Entrez votre adresse e-mail', 'attr' => ['class' => 'form-control form-control-lg', 'placeholder' => 'Adresse Email'] ]) ->add('acc_mailing', CheckboxType::class, ['required' => false, 'label'=>'Accepter mailing']) ->add('acc_contract', CheckboxType::class) ->add('submit', SubmitType::class, [ 'attr' => ['class' => 'btn btn-primary btn-lg btn-block'], 'label' => 'Enregistrer' ]); } public function configureOptions(OptionsResolver $resolver): void { $resolver->setDefaults([ 'data_class' => Test::class, ]); } }
Les Champs de formulaires
Options des champs
Attr
['attr' ⇒ ['attribut1'⇒'valeur','attribut2'⇒'valeur']
$builder->add('mail', EmailType::class, ['label' => 'Entrez votre adresse e-mail']);
Label
['label' ⇒ 'Mon Label']
$builder->add('mail', EmailType::class, ['label' => 'Entrez votre adresse e-mail']);
Required
Par défaut un champ est considéré comme Required,
pour le mettre non Required il faut mettre explicitement l'option ['required' ⇒ false]
$builder->add('acc_mailing', CheckboxType::class, ['required' => false])
Vous pourriez laisser un commentaire si vous étiez connecté.