Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 23/12/2010, 11h31   #1
Membre à l'essai
 
Inscription : mai 2003
Messages : 69
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 69
Points : 20
Points : 20
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 :
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 -**
cli16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/12/2010, 17h09   #2
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
Vérifie si, par hasard, il ne serait pas obligatoire dans le modèle.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 15h29   #3
Membre à l'essai
 
Inscription : mai 2003
Messages : 69
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 69
Points : 20
Points : 20
Bonjour Michel,

Le champ email n'est pas obligatoire dans le modèle.
cli16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 15h33   #4
Membre éclairé
 
Inscription : août 2007
Messages : 360
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 360
Points : 334
Points : 334
Bonjour,

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

Cordialement,

Mathieu
mathieu44800 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2011, 16h05   #5
Membre à l'essai
 
Inscription : mai 2003
Messages : 69
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 69
Points : 20
Points : 20
Effectivement !

Merci beaucoup Mathieu.

cli16 -**
cli16 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h30.


 
 
 
 
Partenaires

Hébergement Web