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 de formulaire


Sujet :

Symfony PHP

  1. #1
    Membre éprouvé
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    Mai 2011
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef d'entreprise
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2011
    Messages : 122
    Par défaut Validation de formulaire
    Bonjour,

    Je tournicote depuis quelques temps sur la meilleure façon de valider mon formulaire.

    Le principe est simple : l'utilisateur remplit 4 champs dont la somme ne doit pas dépasser une certaine valeur récupérée en base de données.

    Je vois deux possibilités pour cela :
    1.
    Créer une propriété dans mon entité avec une annotation pointant ma classe de validation et ajouter un champ caché dans mon formulaire. La question que je me pose alors est la manière de s'y prendre pour remplir ce champ avant la validation du formulaire.

    2.
    Injecter le service de validation dans mon formHandler et avoir quelque chose qui ressemble à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if($this->form->isValid() && $validator(mySum())
    Quelle serait la meilleur façon de faire ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 73
    Par défaut
    As-tu essayé de créer une annotation qui répondra à ton problème ?
    Sinon je serais plus pour la méthode dans un service pour éviter de donner l'accès à la base de données à l'entité.
    Mais ce n'est que mon avis, j'aimerai aussi connaître la bonne méthode

  3. #3
    Membre très actif
    Homme Profil pro
    Inscrit en
    Mars 2009
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Mars 2009
    Messages : 135
    Par défaut
    exemple de validation d'un zone dans une formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @Assert\DateTime()
    private $date;
    ou pour un zone de texte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    @Assert\MinLength(10)
      private $titre;

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2012
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Avril 2012
    Messages : 73
    Par défaut
    Le problème est qu'il faut récupérer la valeur limite en base de données, et je pense qu'elle est susceptible de changer.
    Donc ces annotations ne répondent pas à toutes les contraintes.

    Je reste sur le choix de créer une annotations ou de faire une dans un service.
    Mais quelle est la bonne méthode et/ou la plus rapide je ne sais pas encore ^^

  5. #5
    Membre émérite
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Par défaut
    Je reste sur le choix de créer une annotations ou de faire une dans un service.
    Pour être précis, tu devras créer une classe Contrainte qui servira pour les annotation ET une classe Validator qui sera enregistré en tant que service.

    En suivant bien la doc ça se fait bien:
    http://symfony.com/doc/current/cookb...h-dependencies

Discussions similaires

  1. validation du formulaire de la page ouvrante d'un popup
    Par noa dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/08/2005, 12h11
  2. Réponses: 5
    Dernier message: 24/05/2005, 11h21
  3. Valider un formulaire contenu dans une iframe
    Par snoopy5.0 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/04/2005, 11h14
  4. Valider un formulaire par une image
    Par Fleep dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 31/10/2004, 01h50
  5. [Struts]Validation de formulaire
    Par djoukit dans le forum Struts 1
    Réponses: 4
    Dernier message: 12/03/2004, 09h12

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