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 16/01/2012, 16h06   #1
Invité de passage
 
Inscription : février 2007
Messages : 82
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 82
Points : 4
Points : 4
Par défaut FormFilter avec postValidator personalisé

Bonjour,

dans mon application symfony, j'ai un formFilter de 4 champs 2 strings 1 list déroulante préremplit et un champ date jusque là c'est parfait.
J'ai ajouté un postValidator comme ceci :

Code :
$this->validatorSchema->setPostValidator(new sfMonValidatorFilterSchema());

et j'ai créé la class sfMonValidatorFilterSchema suivante :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
class sfMonValidatorFilterSchema extends sfValidatorSchema
{
	public function configure($options = array(), $messages = array())
	{
 
	}
 
	public function doClean($values)
	{
        //ici je devais récupéré les valeurs entrées dans le filtre comme ceci :
         $value['filde1]; $value['filde2];.... 
        // mais ça ne marche pas et même avec la syntaxe suivante
        $value['filde1]['text']; $value['filde2]['text'];....
        return $values;
        }
}
dans la methode doClean($values) j'arrive pas à récupéré les valeur que je rentre dans mon filtre???? en plus j'ai l'erreur globale suivante

votre aide serait la bienvenue!!!
aza806 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 17h36   #2
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 577
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 577
Points : 692
Points : 692
Envoyer un message via MSN à kenny.kev
Il faudrait que tu commence par lire la doc de symfony car beaucoup de tes questions ont leurs réponses de dans, comme le problème de csrf.
kenny.kev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 17h51   #3
Invité de passage
 
Inscription : février 2007
Messages : 82
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 82
Points : 4
Points : 4
En fait je ne comprends rien au départ mon filtre fonctionne très bien puis je ne sais pourquoi, il me fait la tête, quand je click sur rechercher rien ne se passe l'application ne répond pas, j'ai même mis des log au niveau de executeFilter() et dans mon fichier de logs rien ne s'affiche j'ai l’impression que l'action ne s'exécute pas aucune trace de l'exécution de l'action filter!!!!
aza806 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 18h23   #4
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 577
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 577
Points : 692
Points : 692
Envoyer un message via MSN à kenny.kev
j'ai déjà répondu à ton autre post dessus.

Fait le fonctionner sans javascript car ton code js n'est pas bon.
Fait fonctionner tout ton projet sans js une fois que tout fonctionne rajoute le js que tu veux.
kenny.kev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/01/2012, 22h23   #5
Invité de passage
 
Inscription : février 2007
Messages : 82
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 82
Points : 4
Points : 4
tu veux dire que j'enlève l'inclusion de fichiers .js que j'ai faites dans le fichier de conf view.yml?
aza806 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 10h55   #6
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 577
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 577
Points : 692
Points : 692
Envoyer un message via MSN à kenny.kev
non tu mets un bouton submit pas une url avec une action js dessus.
kenny.kev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 18h20   #7
Invité de passage
 
Inscription : février 2007
Messages : 82
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 82
Points : 4
Points : 4
l'url en fait c'est l'action de mon formulaire puis mon bouton c'est un lien je ne vois pas pourquoi... !!!!

j'ai fais ces changements et ça à l'aire de fonctionner mais j'ai pas encore fais de vrai test :

pour mon lien : //en donnant l'id=filtrer à mon filterForm

Code :
<a href="#" onclick="soumettre();" ><?php echo __("Rechercher", array(), 'sf_admin') ?></a>
et ajouter ce code js :

Code :
1
2
3
4
5
6
<script type="text/javascript"> 
	function soumettre() {
		document.getElementById("filtrer").submit();
	}
 
</script>
mais mon postValidator ne fonctionne pas correctement zut
aza806 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/01/2012, 18h35   #8
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 577
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 577
Points : 692
Points : 692
Envoyer un message via MSN à kenny.kev
Maintenant tu peux déboguer.
kenny.kev 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 16h20.


 
 
 
 
Partenaires

Hébergement Web