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 22/04/2011, 15h49   #1
Membre chevronné
 
Avatar de pop_up
 
Inscription : avril 2006
Messages : 833
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : avril 2006
Messages : 833
Points : 690
Points : 690
Par défaut sfValidatorDate et date potentiellement vide

Bonjour,

J'ai un champ date dans un formulaire construit de la manière suivante :
Code :
1
2
 
'new_date' => new sfWidgetFormI18nDate(array('culture' => 'fr_FR'), array('class' => "inputbox")),
Ce champ doit pouvoir être renseigné ou non.
Mais quand je met le validateur suivant, celui-ci ne passe pas et ne me permet pas de passer dans mon post validateur
Code :
1
2
3
4
5
6
7
8
 
'new_date' => new sfValidatorDate(
        array(
          'required' => false,
          'trim' => true
        ),
        array('required' => "Ce champ est obligatoire", 'invalid' => "Cette date n'est pas valide")
      ),

Le problème, dans mon cas, c'est que dans mon postValidateur, je fais appel à un web service (ce choix a été fait car les web services renvoient parfois des erreurs qui doivent remonter au niveau du formulaire), et que, si la date n'est pas renseignée, je souhaite quand même y faire appel avec une date vide (ou "" ça ne me gène pas)

Merci pour votre aide
pop_up est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/04/2011, 10h55   #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
Tu dis que cela ne fonctionne pas, mais sans pour autant expliquer lequel des deux message tu as en retour.

La vérification "required" est faîte au niveau du code de sfValidatorBase::clean(), soit bien avant d'arriver dans le doClean() du validator spécifique. Si cela ne marcherais pas ce serait pour tout les types de champ.

Je suis un peu surpris par le message pour "required" dans ton validator, je me demande s'il ne valide pas l'obligation, supprime le, il n'a pas d'intérêt puisque que l'objet n'est pas requis.

Es-tu sur que ce que renvoie ton form est bien vide ?

Dans ton contrôleur, juste avant le bind, fait un var_dump() de l'array que tu envoies au form.
__________________
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
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h03.


 
 
 
 
Partenaires

Hébergement Web