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 :

Champs non requis empêche l'envoi du formulaire [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 80
    Par défaut Champs non requis empêche l'envoi du formulaire
    Bonjour,

    J'ai une erreur toute bête mais je n'arrive pas à isoler le problème.

    Voici quelques explications :

    J'ai un formulaire de contact dans lequel la plupart des champs sont requis sauf le mail. J'ai donc indiqué dans le validator du mail "required => false".

    Mais le champ mail reste pourtant requis car il est impossible d'envoyer le formulaire sans le mail.

    J'ai surement fait une boulette... mais où ????
    Voici le code :

    ContactForm.class.php
    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
    class ContactForm extends BaseContactForm
    {
      public function configure()
      {
          unset($this['id'], $this['created_at'], $this['updated_at'], $this['provient_web'], $this['nouveau_contact']);
     
        $this->setWidgets(array(
          'nom'             => new sfWidgetFormInputText(),
          'prenom'          => new sfWidgetFormInputText(),
          'adresse'         => new sfWidgetFormInputText(),
          'cp'              => new sfWidgetFormInputText(),
          'ville'           => new sfWidgetFormInputText(),
          'tel'             => new sfWidgetFormInputText(),
          'email'           => new sfWidgetFormInputText(),
          'message'         => new sfWidgetFormTextarea(),
          'antenne_id'      => new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Antenne'), 'add_empty' => true)),
          'captcha' => new sfWidgetCaptchaGD(),
            'reference'              => new sfWidgetFormInputHidden(),
        ));
     
          $this->setValidators(array(
          'nom'    => new sfValidatorString(array(), array('required' => 'Le nom est requis.')),
          'prenom'    => new sfValidatorString(array(), array('required' => 'Le prénom est requis.')),
          'adresse'    => new sfValidatorString(array(), array('required' => 'L\'adresse est requise.')),
          'cp'    => new sfValidatorString(array(), array('required' => 'Le code postal est requis.')),
          'ville'    => new sfValidatorString(array(), array('required' => 'La ville est requise.')),
          'tel'    => new sfValidatorString(array(), array('required' => 'Le téléphone est requis.')),
          'email'           => new sfValidatorString(array(), array('max_length' => 100, 'required' => false)),
          'reference'       => new sfValidatorString(array('max_length' => 10, 'required' => false)),
          'message' => new sfValidatorString(array(),array('required' => 'Le message est requis.')),
          'antenne_id' => new sfValidatorString(array(),array('required' => 'Veuillez choisir une antenne destinataire.')),
          'captcha' => new sfCaptchaGDValidator(array('length' => 4),array('required' => 'Veuillez saisir les 4 chiffres que vous voyez sur l\'image')),
        ));
     
        $this->widgetSchema->setLabels(array('prenom' => 'Prénom', 'antenne_id' => 'Antenne destinataire', 'cp' => 'Code Postal', 'tel' => 'Téléphone'));
        $this->widgetSchema->setNameFormat('contact[%s]');
     
      }
    }
    Merci d'avance pour vos lumières !

    cli16 -**

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Vérifie si, par hasard, il ne serait pas obligatoire dans le modèle.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 80
    Par défaut
    Bonjour Michel,

    Le champ email n'est pas obligatoire dans le modèle.

  4. #4
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    360
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 360
    Par défaut
    Bonjour,

    Il faut mettre le "required" dans le 1er tableau de paramètres et non le deuxième du validateur...

    Cordialement,

    Mathieu

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 80
    Par défaut
    Effectivement !

    Merci beaucoup Mathieu.

    cli16 -**

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/12/2014, 17h33
  2. problème avec un formulaire : champ non défini
    Par merlubreizh dans le forum Langage
    Réponses: 5
    Dernier message: 04/02/2008, 15h22
  3. Réponses: 0
    Dernier message: 25/01/2008, 10h09
  4. Préremplir un formulaire et rendre le champ non modifiable
    Par Yagami_Raito dans le forum Langage
    Réponses: 9
    Dernier message: 15/05/2007, 08h23
  5. Réponses: 3
    Dernier message: 09/04/2007, 15h29

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