[DELESTAGE] Validation champs et affichage
Bonjour,
Je cherche à afficher un message d'erreur à l'utilisateur lorsqu'il quitte un champs texte mal rempli.
Pour cela je fait comme dans la documantation Symfony2. :mouarf:
Voici le fichier des données :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
namespace Sdz\ReportBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use Sdz\ReportBundle\Entity\Intervention;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Client
*
* @ORM\Table(name="report_client")
* @ORM\Entity(repositoryClass="Sdz\ReportBundle\Entity\ClientRepository")
*/
class Client {
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="nom", type="string", unique=true, length=50)
*
* @Assert\Length(
* min = "10",
* max = "50",
* minMessage = "Votre nom doit faire au moins {{ limit }} caractères",
* maxMessage = "Votre nom ne peut pas être plus long que {{ limit }} caractères"
* )
*
*
*/
private $nom;
// ... |
... et le fichier twig associé :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
{# src/Sdz/BlogBundle/Resources/views/Blog/index.html.twig #}
{% extends "SdzReportBundle::layout.html.twig" %}
{% block title %} {{ titre }} - {{parent() }} {% endblock %}
{% block sdzreport_body %}
<div >
<h4>{{ titre|upper }}</h4><hr />
<form {# action="{{ path('sdz_report_creer_client') }}" #} method="post" {{ form_enctype(form) }}>
{# Les erreurs générales du formulaire. #}
{{ form_errors(form) }}
{# nom #}
<div>
{# Génération du label. #}
{{ form_label(form.nom, "Nom") }}
{# Affichage des erreurs pour ce champ précis. #}
{{ form_errors(form.nom) }}
{# Génération de l'input. #}
{{ form_widget(form.nom) }}
</div>
// ... |
Et bien, je vous le donne en mille : Cela ne fonctionne pas. :aie:
Pourtant cela à l'air très simple sur le papier.
Où est donc l'erreur ? What is the question. :whistle:
A+ ;)