Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > Zend_Form
Zend_Form Forum d'entraide pour le composant Zend_Form du Zend Framework (création de formulaires, helpers, AJAX etc.). Avant de poster -> FAQ Zend_Form.
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 21/12/2011, 09h32   #1
Membre régulier
 
Homme Vincent Leboulanger
Développeur informatique
Inscription : janvier 2005
Messages : 319
Détails du profil
Informations personnelles :
Nom : Homme Vincent Leboulanger
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2005
Messages : 319
Points : 80
Points : 80
Par défaut form isValid en erreur mais pas de message

Bonjour à tous,

Voilà, je me retrouve face à un petit problème que je n'arrive pas à résoudre.

J'ai un formulaire qui contient un certain nombre d'élément, avec des validateurs.

En fait, lorsque je fait dans mon contrôler :

la validation me sort une erreur, mais ne m'affiche pas laquelle.

J'affiche ensuite les choses suivantes :
Code :
1
2
print_r($form->getMessages());
				print_r($_POST);
la fonction getMessages() ne retourne rien...

je ne vois donc pas pourquoi il n'accepte pas la validation...

voici les éléments de mon formulaire :

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
 
$nomCommerce = $form->createElement('text', 'nomCommerce');
		$nomCommerce->addValidator('stringLength', false, array(2,$largeurchamps))
		->setRequired(true)
		->setAttrib("size", $largeurchamps)
		->setLabel("Commerce")
		->addErrorMessage("Information obligatoire");
 
		$nomContact = $form->createElement('text', 'nomContact');
		$nomContact->addValidator('stringLength', false, array(2, $largeurchamps))
		->setRequired(true)
		->setAttrib("size", $largeurchamps)
		->setLabel("Nom")
		->addErrorMessage("Information obligatoire");
 
		$prenomContact = $form->createElement('text', 'prenomContact');
		$prenomContact->addValidator('stringLength', false, array(2, $largeurchamps))
		->setRequired(true)
		->setAttrib("size", $largeurchamps)
		->setLabel("Prénom")
		->addErrorMessage("Information obligatoire");
 
		$description = $form->createElement('textarea', 'description');
		$description->setLabel("Commentaires")
					->setAttrib('rows','3')
					->setAttrib('cols','30');
 
		$mail = $form->createElement('text', 'mail');
		$mail->addValidator('EmailAddress')
		->setRequired(true)
		->setAttrib("size", $largeurchamps)
		->setLabel("E-Mail")
		->addErrorMessage("Information obligatoire");
 
		$telephone = $form->createElement('text', 'telephone');
		//$telephone->addValidator('Digits')
		$telephone->setRequired(true)
		->setAttrib("size", $largeurchamps)
		->setLabel("Téléphone")
		->addErrorMessage("Information obligatoire");
 
		$mobile = $form->createElement('text', 'mobile');
		$mobile->setAttrib("size", $largeurchamps)
		->setLabel("Mobile");
 
		$fax = $form->createElement('text', 'fax');
		$fax->setAttrib("size", $largeurchamps)
		->setLabel("Fax");
 
		$adresse = $form->createElement('text', 'adresse');
		$adresse->setLabel("Adresse")
				 ->setRequired(true)
				 ->setAttrib("size", 100)
					->addErrorMessage("Information obligatoire");
 
    	$complAdresse = $form->createElement('text', 'complAdresse');
		$complAdresse->setLabel("Complément d'adresse")
				 ->setAttrib("size", 100);
 
	  	$codePostal = $form->createElement('text', 'codePostal');
		$codePostal->setLabel("Code postal")
		     ->addValidator('Digits')
				 ->setRequired(true)
				 ->setAttrib("size", $largeurchamps)
				->addErrorMessage("Information obligatoire");
 
    	$ville = $form->createElement('text', 'ville');
		$ville->setLabel("Ville")
				 ->setRequired(true)
				 ->setAttrib("size", $largeurchamps)
				->addErrorMessage("Information obligatoire");	
 
    	$departement = $form->createElement('text', 'departement');
		$departement->setLabel("Département")
				 ->setAttrib("size", $largeurchamps);		
 
		$pays = new Pays();
		$paysRow = $pays->find($idPays)->current();
 
		$paysCom = $form->createElement('hidden', 'paysCom');
		$paysCom->setValue($idPays);
 
		$paysSelect = $form->createElement('text', 'paysSelect');
		$paysSelect->setLabel("Pays")
				 ->setRequired(true)
				 ->setAttrib("size", $largeurchamps)
				 ->setValue($paysRow->pays);
		$paysSelect->setAttrib('readonly', 'true');
 
  	    $noshow = $form->createElement('checkbox', 'noShow');
		$noshow->setLabel("Gestion NoShow")
				->setCheckedValue('1')
				->setUncheckedValue('0');
 
		$production = $form->createElement('checkbox', 'production');
		$production->setLabel("En production")
				->setCheckedValue('1')
				->setUncheckedValue('0');
 
		$login = NULL;
		if ($this->view->action=='ajouter'){
	  		Zend_Loader::loadClass('UniqueValidator');
 
	  		$uniqueval = new UniqueValidator(new User(),"login","VARCHAR(50)");
	  		$login = $form->createElement('text', 'login');
	  		$login->setLabel("Login")
  				 ->setRequired(true)
		      	 ->setAttrib("size", $largeurchamps)
  				 ->addValidator($uniqueval,false)
  				 ->addValidator('stringLength',false,array(5,50));
		}else{
			$login = $form->createElement('text', 'login');
			$login->setAttrib("disabled",true)
            	->setLabel("Login")
		        ->setAttrib("size", $largeurchamps)
            	->addValidator('stringLength',false,array(5,50));
		}
 
		// URL site marchand
		$urlSite = $form->createElement('text', 'urlSite');
		$urlSite->addValidator('stringLength', false, array(2,100))
			->setRequired(false)
			->setAttrib("size", 100)
			->setLabel("URL site");
 
		$imagefile = $form->createElement('file','imagefile');
		$imagefile->setLabel('Image')->setDescription('Image')
		        ->setDestination(WEBAPP_DIR.'/tmp');
		// S"assurer de la présence d'un seul fichier
		$imagefile->addValidator('Count', false, 1);
		// limitation de la taille de l'image à 40K
		$imagefile->addValidator('Size', false, 200000);
		// seulment des JPEG
		$imagefile->addValidator('Extension', false, 'jpg');
 
		// Add elements to form:
		$form->addElement($nomCommerce)
			->addElement($nomContact)
			->addElement($prenomContact)
			->addElement($mail)
			->addElement($adresse)
			->addElement($complAdresse)
			->addElement($codePostal)
			->addElement($ville)
			->addElement($departement)
	    	->addElement($paysSelect)
			->addElement($telephone)
			->addElement($mobile)
			->addElement($fax)
			->addElement($urlSite);
$form->addElement($description)
			->addElement($imagefile);
 
		$form->addElement($login);
		$form->addElement($noshow);
		$form->addElement($production);
 
		$form->addElement($idCommercant);
		$form->addElement($paysCom);
 
		$buttonSubmit = $form->createElement('submit', 'buttonSubmit');
 
		$buttonSubmit->setLabel("Enregistrer");
		$form->addElement($buttonSubmit);
 
		$form->setElementDecorators(array('ViewHelper', 'Errors'));
Est-ce que l'un d'entre vous aurait une explication ?

D'avance merci.

Vince
vince29 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 11h45   #2
Membre régulier
 
Homme Vincent Leboulanger
Développeur informatique
Inscription : janvier 2005
Messages : 319
Détails du profil
Informations personnelles :
Nom : Homme Vincent Leboulanger
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2005
Messages : 319
Points : 80
Points : 80
pour info, je tente d'afficher les messages de la façon suivante :

Code :
1
2
3
4
5
 
foreach($form->getMessages() as $message){
 
					print_r($message);
				}
et rien ne s'affiche... le traitement ne rentre même pas dans le foreach...
vince29 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 05h33.


 
 
 
 
Partenaires

Hébergement Web