Tester la validité d'un formulaire Symfony à l'intérieur d'un template Twig

Publié le 23/07/2019 • Mis à jour le 08/11/2019

English language detected! 🇬🇧

  We noticed that your browser is using English. Do you want to read this post in this language?

Read the english version 🇬🇧

Il est parfois utile de savoir si un formulaire est valide dans un template Twig. En effet quand on utilise les helpers form_ tels que form_error tout est automatique et vous n'avez pas besoin de savoir si le formulaire est valide ou pas. C'est un snippet que j'utilise dans l'un des articles de ce blog. Validez le formulaire pour voir le résultat ! Comme vous pouvez le voir, dans ce cas, ça me permet d'assigner certaines classes CSS spéciales ainsi que d'afficher le bon message à l'utilisateur.
[08/11/2019] : On peut aussi utiliser form.vars.submitted pour vérifier si le formulaire a été soumis. En général, ça n'a de sens de vérifier la validité d'un formulaire que si celui-ci a été soumis au préalable.


{% if form.vars.submitted %}
    {% set class = form.vars.valid ? 'success' : 'warning' %}
    <div class="h4 alert alert-{{ class }}">
        {{ (form.vars.valid ? 'form2_valid' : 'form2_not_valid')|trans({}, 'post_26') }}
    </div>
{% endif %}

 Plus sur Stackoverflow