|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 22 ![]() |
Bonjour,
j'aimerais avoir des précisions pour les validateurs de symfony. J'ai une table d’évènement dans ma DB qui contient des champs ['date_debut'], ['date_fin'], ['heure_debut'], ['heure_fin']. J'aimerai créer un validateur qui permet de tester la saisie de ces champs : 'date_début' doit être <= à la 'date_fin'. Et si la 'date_début' == 'date_fin', alors 'heure_début' doit-être < 'heure_fin'... Pour la première condition, c'est OK j'ai trouvé la solution avec Code :
$this->validatorSchema->setPostValidator(new sfValidatorSchemaCompare(... J'ai essayé cette technique www.developpez.net/.../validator-test-formulaire/ mais sans succès. Pouvez-vous me dire si je suis sur la bonne voie ou s'il vaudrait mieux créer une class pour un validateur personnalisé sachant que je débute avec symfony... ? Merci pour vos messages. Voici le code qui pose problème actuellement : Code :
Code :
|
||||
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : juin 2006 Messages : 488 ![]() |
je voie pas trop l'interet de séparer la date de l'heure.
En ayant un champ Debut (DATETIME) et un champ FIN (DATETIME) Tu n'as plus qu'à comparer tes 2 champs. |
|
|
00
|
|
|
#3 | |
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 22 ![]() |
Citation:
|
|
|
|
00
|
|
|
#4 | ||
|
Membre habitué
![]() Nicolas Développeur Web Inscription : avril 2011 Messages : 96 ![]() |
Code :
|
||
|
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 22 ![]() |
Hello Nico,
merci pour ton message. Voici l'erreur retournée par ce validateur... : Code :
Warning: Invalid argument supplied for foreach() in .../lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/form/sfFormDoctrine.class.php on line 169 Call Stack: 0.0000 347636 1. {main}() Code :
|
||
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Nicolas Développeur Web Inscription : avril 2011 Messages : 96 ![]() |
Mmmh,
Tu pourrais dumper $validator et $values histoire de t'assurer qu'il s'agit bien des bons types d'objets et qu'ils contiennent ce qu'ils sont censés contenir ? Le message d'erreur laisse penser que tu donnes un form à la place d'un validateur dans ta méthode checkDateTime() par exemple (ou quelque chose dans ce gout là...) Vérifie que tu as le bon type d'objet et qu'ils sont correctement remplis. |
|
|
00
|
|
|
#7 | |||||
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 22 ![]() |
Citation:
si je dump dans ma fonction checkDateTime() j'ai pour values : Code :
Code :
Mais je suis en train de me demander si je met bien tout au bon endroit... Je dois bien mettre mon $this->validatorSchema->setPostValidator je dois le mettre dans le configure de lib/form/SortieForm.class.php et ma fonction checkDateTime() je dois le mettre en tant que methode de ce même fichier ? Ou est-ce que je dois étendre un validateur pour y mettre ma méthode checkDateTime () ? |
|||||
|
|
00
|
|
|
#8 | ||
|
Invité régulier
![]() Étudiant Inscription : juin 2011 Messages : 22 ![]() |
Ok, ben après plusieurs jours de recherches, j'ai finalement trouvé une solution...
Le problème semble venir de : Code :
$error["date_debut"] = new sfValidatorError($validator, $message); )Voici ma fonction de callback qui fonctionne à présent... Code :
![]() Merci à vous qui avez réfléchi à mon problème. ![]() A bientôt |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com