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 :

Formulaire validation toujours à true ? [3.x]


Sujet :

Symfony PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 83
    Points
    83
    Par défaut Formulaire validation toujours à true ?
    Bonjour,

    J'ai une classe FormType et quand je soumet le formulaire même vide il passe dans le IsValid et renvoie tout le temps treu donc valide même s'il y a une erreur ....

    J'ai pourtant suivi la doc officielle mais je ne vois pas pourquoi ....

    Mon FormType :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    public function buildForm(FormBuilderInterface $builder, array $options) {
            $builder
                    ->add('numeroLeads', TextType::class)
                    ->add('dateCreate', DateTimeType::class, array(
                        // render as a single text box
                        'widget' => 'single_text',
                        'html5' => false,
                        'format' => 'dd/MM/yyyy',
                    ))
                    //->add('canal', TextType::class)
                    //->add('offre', TextType::class)
                    //->add('statutId', StatutLeadsType::class)
                    ->add('statutId', EntityType::class, array(
                        'class' => 'BackBundle:StatutLeads',
                        'query_builder' => function (StatutLeadsRepository $er) {
                            return $er->createQueryBuilder('st')
                                ->orderBy('st.statut', 'ASC');
                        },
                        'choice_label' => 'statut',
                    ))
                    ->add('apporteurId', ApporteurType::class)
                    ->add('contacts', CollectionType::class, array(
                        'entry_type' => ClientType::class,
                        'allow_add' => true,
                        'allow_delete' => true,
                        'prototype' => true,
                        'by_reference' => false,
                        'attr' => array(
                            'class' => 'contacts-list',
                        ),
                            )
                    )
                    ->add('contrats', CollectionType::class, array(
                        'entry_type' => ContratType::class,
                        'allow_add' => true,
                        'allow_delete' => true,
                        'prototype' => true,
                        'by_reference' => false,
                        'attr' => array(
                            'class' => 'contrats-list',
                        ),
                            )
                    )
                    ->add('leadsApporteurAssociations', CollectionType::class, array(
                        'entry_type' => CommentaireLeadsType::class,
                        'allow_add' => true,
                        'allow_delete' => true,
                        'prototype' => true,
                        'by_reference' => false,
                        'attr' => array(
                            'class' => 'commentaires-list',
                        ),
                        )
                    )
                    ->add('leadsActionsAssociations', CollectionType::class, array(
                        'entry_type' => ActionsType::class,
                        'allow_add' => true,
                        'allow_delete' => true,
                        'prototype' => true,
                        'by_reference' => false,
                        'attr' => array(
                            'class' => 'actions-list',
                        ),
                        )
                    )
            ;
        }
    et un exemple d'une entité Apporteur, qui fait lien avec "->add('apporteurId', ApporteurType::class)" :
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    class Apporteur extends BaseUser {
     
        /**
         * @var int
         *
         * @ORM\Column(name="id", type="integer")
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="AUTO")
         */
        protected $id;
     
        /**
         * @var string
         *
         * @ORM\Column(name="idrh", type="string", length=7, unique=true)
         * @Assert\NotBlank()
         */
        private $idrh;
     
        /**
         * @var string
         *
         * @ORM\Column(name="nom", type="string", length=255)
         * @Assert\NotBlank()
         */
        private $nom;
     
        /**
         * @var string
         *
         * @ORM\Column(name="prenom", type="string", length=255)
         * @Assert\NotBlank()
         */
        private $prenom;
     
        /**
         * @var int
         *
         * @ORM\ManyToOne(targetEntity="Etablissement")
         * @ORM\JoinColumn(name="etablissement_id", referencedColumnName="id", nullable=false)
         * @Assert\NotBlank()
         */
        private $etablissementId;
    }
    Une petite aide ?

    Merci

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2016
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 49
    Points : 85
    Points
    85
    Par défaut
    Bonjour, essaie d'ajouter un attribut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    -> add('toto', 'Tontype::class, array(
        ....
        'required' => true
        ....
        ))
    Normalement ça devrait être bon

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    C'est bien indiqué dans mes classes la propriétée required ! Et rien ....

    Merci

  4. #4
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2013
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2013
    Messages : 739
    Points : 1 022
    Points
    1 022
    Par défaut
    tu as mis déja ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => Apporteur::class,
        ));
    }

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    Oui j'ai bien cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    /**
         * {@inheritdoc}
         */
        public function configureOptions(OptionsResolver $resolver) {
            $resolver->setDefaults(array(
                'data_class' => 'BackBundle\Entity\Apporteur'
            ));
        }
    Merci

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 83
    Points
    83
    Par défaut
    Bonsoir,

    En fait dans les entités je devais juste mettre dans les annotations :
    J'ai trouvé dans la documentation anglaise....

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

Discussions similaires

  1. Fonction de validation de formulaire soumet toujours le formulaire
    Par psyghoria dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 04/12/2012, 08h30
  2. onsubmit qui valide toujours un formulaire
    Par DJ Caësar 9114 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/03/2009, 21h00
  3. Réponses: 2
    Dernier message: 16/04/2005, 20h24
  4. Réponses: 7
    Dernier message: 16/03/2005, 12h35
  5. Controle de formulaire valid XHTML 1.1
    Par StagiaireEnGalère dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/10/2004, 22h15

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