Aller au contenu principal

Réussir ses formulaires DSFR dans Symfony

Les formulaires sont souvent la partie la plus coûteuse d'une intégration DSFR. Ils concentrent les labels, aides, erreurs, contraintes métier, états désactivés et retours utilisateur.

Dans Symfony, il faut aussi respecter le fonctionnement du composant Form : validation, FormView, thème Twig, messages d'erreur et conservation des valeurs après soumission.

DSFR Bundle fournit des types de formulaires pour garder les habitudes Symfony tout en rendant les classes DSFR attendues.

$builder
->add('email', DsfrInputType::class, [
'label' => 'Adresse électronique',
'help' => 'Format attendu : nom@example.fr',
])
->add('submit', DsfrSubmitType::class, [
'label' => 'Envoyer',
]);

Les points à vérifier

  • chaque champ a un label explicite ;
  • les erreurs expliquent comment corriger ;
  • les aides sont visibles avant la soumission ;
  • les champs requis sont cohérents avec les contraintes Symfony ;
  • le formulaire reste utilisable au clavier ;
  • le responsive n'écrase pas les libellés.

Le bundle aide sur la structure et le rendu, mais votre application reste responsable du contenu métier et des règles de validation.

Ressources utiles

Consultez Formulaires Symfony, Accessibilité et les composants dsfr:input, dsfr:select, dsfr:checkbox, dsfr:radio dans le catalogue.

FAQ

Pourquoi utiliser des types Symfony DSFR ?

Ils conservent le fonctionnement natif de Symfony Form tout en appliquant les structures, classes, aides et erreurs attendues pour un rendu DSFR cohérent.

Peut-on mélanger types Symfony et composants Twig ?

Oui. Utilisez les types Symfony pour les formulaires classiques, puis les composants Twig pour les zones avancées ou les écrans qui nécessitent une composition plus précise.