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 :

Validation : plusieurs formulaires sur une entité [2.x]


Sujet :

Symfony PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Validation : plusieurs formulaires sur une entité
    Bonjour,

    je rencontre un problème pour la validation des formulaires:
    J'ai deux formulaires différents qui modifient chacun des propriétés différentes d'une même entité.
    Tout fonctionne bien sauf que suite à la création du deuxième formulaire les formulaires ne sont jamais validés, même si les champs sont bien remplis.

    Cela provient du fait que le fichier validation.yml qui contient les contraintes de validation est associé à une entité.

    Donc pour résumer :
    formulaire 1: champA, champB, champC
    formulaire 2: champD, champE

    dans le fichier validation.yml j'ai des contraintes du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    myBundle\Entity\myEntity:
      properties:
          champA:
            - Email: ~
          champB:
            - NotBlank: ~
          champC:
            - NotBlank: ~
          champD:
            - Type: integer
          champE:
            - Type: integer
    Et lorsque, par exemple, je submit le formulaire 2, les champs A,B et C n'étant pas renseignés, il n'est pas validé. Pire, il n'y a pas de message d'erreur car les champs ne sont pas présents dans le formulaire.

    Les deux formulaires étant dans des bundles différents, j'ai tenté de créer des fichiers validation.yml dans chaque bundle, mais symfony2 tient compte des deux fichiers quand même.

    Avez vous des idées?

    A bientôt...

  2. #2
    Inscrit
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 476
    Points
    476
    Par défaut
    Salut,

    Je comprends pas bien ce que tu cherches a faire, tu peux nous reexpliquer avec le vrai exemple (qui sera plsu comprehensible que champA champB etc) ?

    Parce que je vois pas trop le probleme en fait. Si un formulaire ne fait que modifier une partie d'une entite (entite qui existait deja en entier), alors a la validation les attributs non-modifie ont leur valeur d'origine et devraient passer la validation sans probleme.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Salut,

    je ne vais pas réexpliquer, tu as bien compris le problème. Je pensais aussi que le valeurs non modifiées ne poseraient pas de problème, mais je n'arrive à valider le formulaire 2 que lorsque les contraintes du formulaire 1 sont commentées.
    Si quelqu'un pouvait me confirmer qu'il a déjà réussi à faire fonctionner ce type de configuration, je penserais que le problème vient d'ailleurs...

    A+

  4. #4
    Inscrit
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    319
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 319
    Points : 476
    Points
    476
    Par défaut
    Tu peux nous montrer ton code alors ? C'est surement un truc tout bete dans la gestion du formulaire.

  5. #5
    Membre averti
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Points : 396
    Points
    396
    Par défaut
    Salut,

    je vais encore parler de ce que je connais : Mais dans symfony 1.X, y avait la notion de formulaires inclus dans d'autres, les "embedForm", je ne sais pas si il ne faudrait pas regarder de ce coté la, ou peut être que je dis des bêtises, n'ayant pas eu encore l'envie (bloquée par le manque de documentation) et de temps à consacrer à cette nouvelle mouture du framework...

    Cordialement,

    Mathieu

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Bon, j'ai trouvé d'où ça vient...

    Les contraintes ne s'appliquent pas à la saisie des formulaires mais aux valeurs de l'entité.
    Un champ défini "notBlank" dans la contrainte ne passera pas la validation si la valeur en base est vierge.
    En fait la base sur laquelle je travaille est faite de telle façon que certains champs de la table concernée ne sont utilisés que pour certains profils utilisateurs et je suis tombé sur un cas particulier où une des valeurs obligatoire était nulle (mais moi je ne le voyais pas parceque mon formulaire ne modifie pas cette valeur (vous me suivez là?)).

    Mon problème venait donc du modèle de données et pas de l'utilisation du formulaire.

    Merci à vous!

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Petite précision :

    lors de la validation, il est possible de préciser sur quel champ on applique la validation.
    Au lieu de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($form->isValid())
    {
       //....
    }
    on peut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($form->get('NomduChamp')->isValid())
    {
       //....
    }
    ça répond à ma question initiale et je peux passer en résolu

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 07/09/2014, 13h59
  2. [2.x] Plusieurs Formulaires sur une pages
    Par jeyGey dans le forum Symfony
    Réponses: 1
    Dernier message: 14/12/2012, 17h29
  3. [ZF 1.11] Plusieurs formulaires sur une page
    Par Seryus dans le forum Zend_Form
    Réponses: 6
    Dernier message: 25/09/2012, 18h58
  4. [2.x] [Form] Plusieurs formulaires sur une même entité
    Par flutz dans le forum Symfony
    Réponses: 1
    Dernier message: 15/09/2012, 23h24
  5. Plusieurs formulaires sur une même page
    Par patsak dans le forum Langage
    Réponses: 3
    Dernier message: 11/06/2008, 16h14

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