IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Propriété NotBlank validée même si vide [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 155
    Points : 76
    Points
    76
    Par défaut Propriété NotBlank validée même si vide
    Bonjour,

    Je continue ma petite formation symfony 2 et je m'essaie sur les formulaires aujourd'hui. En l’occurrence, je crée un formulaire ne contenant qu'un seul champ texte qui doit être renseigné. En suivant la doc officielle, j'arrive aux codes suivants :

    L'entité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    namespace ***\***\Entity;
     
    use Doctrine\ORM\Mapping as ORM;
    use Gedmo\Mapping\Annotation as Gedmo;
    use Symfony\Component\Validator\Constraints as Assert;
     
    /**
     * @ORM\Entity
     * @ORM\Table(name="gbot_domaine")
     */
    class Domaine 
    {
        /**
         * @ORM\Id
         * @ORM\Column(type="integer")
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        protected $id;
     
        /**
         * @Assert\NotBlank(message="L'intitulé doit être renseigné")
         * @ORM\Column(type="string", length=255, nullable=false)
         */
        protected $intitule;
     
        (...)
    L'action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    /**
         * @Route("/domaine/new", name="_domaine_new")
         * @Template
         */
        public function newAction(Request $request)
        {
            $form = $this->createFormBuilder()
                         ->add('intitule', 'text', array(
                             'label' =>  'Intitulé'
                         ))
                         ->getForm();
     
            if ( $request->getMethod() == 'POST' )
            {
                $form->bindRequest($request);
                if ($form->isValid())
                {
                    return $this->redirect( $this->generateUrl('_domaine_index'));
                }
            }
     
            return array('form'=>$form->createView());
        }
    La portion du template concernant le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form action="{{ path('_domaine_new') }}" method="post" novalidate="novalidate" {{ form_enctype(form) }}>
        {% include "***:Admin:batchActions.html.twig" with { 'cancelRoute': '_domaine_index', 'submitLabel': 'Enregistrer' } %}
        {{ form_widget(form) }}
    </form>
    Le problème, c'est que l'action valide le domaine même si je n'ai pas renseigné le champ intitulé...

    Aurais-je oublié quelque chose ou fait quelque chose de travers ?

    Merci d'avance pour votre aide !

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 155
    Points : 76
    Points
    76
    Par défaut
    C'est bon j'ai trouvé :

    il faut d'abord créer une nouvelle instance de classe et la passer au formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $domaine = new Domaine();
    $form = $this->createFormBuilder($domaine) (...)
    et là ça fonctionne

    (ça change un peu de Symfony 1 dont je suis imprégné)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/11/2011, 14h09
  2. [D2007] propriétés avec un même setter
    Par Benjamin GAGNEUX dans le forum Langage
    Réponses: 2
    Dernier message: 14/06/2010, 08h00
  3. Valider un <cin> vide.
    Par Yakuzan dans le forum Débuter
    Réponses: 4
    Dernier message: 24/02/2010, 14h30
  4. [XL-2000] "valeur de propriété non valide" au démarage
    Par zandru dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 13/01/2010, 16h18
  5. [AC-2000] Valeur de propriété non valide
    Par marsupilami34 dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/10/2009, 16h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo