1 <?xml version="1.0" encoding="utf-8"?>
2 <!-- EN-Revision: 21996 -->
4 <sect1 id="zend.form.standardElements">
5 <title>Les éléments standards fournis avec Zend Framework</title>
7 Zend Framework est fournis avec des classes d'éléments couvrant la
8 plupart des éléments de formulaire HTML. La plupart spécifie un helper de
9 vue en particulier à utiliser pour décorer un élément, mais plusieurs
10 d'entre elles offrent des fonctionnalités supplémentaires. Ce qui suit est
11 une liste de toutes ces classes, ainsi que des descriptions des
12 fonctionnalités offertes.
14 <sect2 id="zend.form.standardElements.button">
15 <title>Zend_Form_Element_Button</title>
17 Utilisé pour créer des éléments boutons,
18 <classname>Zend_Form_Element_Button</classname> étend <link
19 linkend="zend.form.standardElements.submit">Zend_Form_Element_Submit</link>,
20 spécifie quelques fonctionnalités personnalisées. Il spécifie le
21 helper de vue 'formButton' pour la décoration.
24 Comme l'élément submit, il utilise le label de l'élément en tant que
25 valeur de l'élément lors de l'affichage ; autrement dit, pour définir
26 le text du bouton, définissez la valeur de l'élément. Le label sera
27 traduit si l'adapteur de traduction est présent.
30 Comme le label est utilisé comme faisant partie de l'élément,
31 l'élément bouton utilise seulement <link
32 linkend="zend.form.standardDecorators.viewHelper">ViewHelper</link>
33 et les décorateurs <link
34 linkend="zend.form.standardDecorators.dtDdWrapper">DtDdWrapper</link>.
37 Après avoir rempli ou validé un formulaire, vous pouvez vérifier si
38 le bouton donné a été cliqué en utilisant la méthode
39 <methodname>isChecked()</methodname>.
42 <sect2 id="zend.form.standardElements.captcha">
43 <title>Zend_Form_Element_Captcha</title>
45 Les CAPTCHAs sont utilisé pour empêcher la soumission automatique des
46 formulaires par des bots et autre processus automatisés.
49 L'élément de formulaire Captcha permet de spécifier quel <link
50 linkend="zend.captcha.adapters">Adapteur Zend_Captcha</link> vous
51 désirez utiliser. Il définit ensuite cet adapteur comme
52 validateur à l'objet, et utilise le décorateur du Captcha pour
53 l'affichage (ce qui fait office de proxy vers l'adapteur CAPTCHA).
56 Les adapteurs peuvent être n'importe quel adapteur de
57 <classname>Zend_Captcha</classname>, ou n'importe quel adapteur que
58 vous avez défini par ailleurs. Pour permettre ceci, vous devrez passer
59 une clé supplémentaire de plugin loader, 'CAPTCHA'
60 ou 'captcha', lorsque vous spécifiez un prefixe de chemin de plugin loader :
62 <programlisting language="php"><![CDATA[
63 $element->addPrefixPath('My_Captcha', 'My/Captcha/', 'captcha');
66 Le Captcha peut ensuite être enregistré en utilisant la méthode
67 <methodname>setCaptcha()</methodname>, qui prend en paramètre soit
68 une instance concrête de CAPTCHA soit le nom court d'un adapteur CAPTCHA :
70 <programlisting language="php"><![CDATA[
72 $element->setCaptcha(new Zend_Captcha_Figlet());
73 // Utilisation d'un nom court :
74 $element->setCaptcha('Dumb');
77 Si vous souhaitez charger votre élément via la configuration, spécifiez soit
78 la clé 'captcha' avec un tableau contenant la clé 'captcha', soit les clés
79 'captcha' et 'captchaOptions' :
81 <programlisting language="php"><![CDATA[
82 // Utilisation d'une clé captcha :
83 $element = new Zend_Form_Element_Captcha('foo', array(
84 'label' => "Merci de confirmer que vous êtes humain",
86 'captcha' => 'Figlet',
91 // Utilisation simultanée des clés captcha et captchaOption :
92 $element = new Zend_Form_Element_Captcha('foo', array(
93 'label' => "Merci de confirmer que vous êtes humain",
94 'captcha' => 'Figlet',
95 'captchaOptions' => array(
96 'captcha' => 'Figlet',
103 Le décorateur utilisé est déterminé lors de la récupération de l'adapteur
104 du captcha. Par défaut, le <link
105 linkend="zend.form.standardDecorators.captcha"> décorateur
106 du captcha</link> est utilisé, mais un adapteur peut spécifier un décorateur
107 différent via sa méthode <methodname>getDecorator()</methodname>.
110 Comme noté, l'adapteur de captcha lui même agit comme un validateur pour
111 l'élément. De plus, le validateur NotEmpty n'est pas utilisé, et l'élément
112 est marqué comme requis. Dans la plupart des cas, vous n'aurez besoin de
113 rien d'autre pour que le captcha soit présent dans votre formulaire.
116 <sect2 id="zend.form.standardElements.checkbox">
117 <title>Zend_Form_Element_Checkbox</title>
119 Les cases à cocher HTML vous permettent de retourner une valeur spécifique,
120 mais elles fonctionnent essentiellement comme des booléens. Lorsque elle
121 est cochée, la valeur de la case à cocher est soumise. Lorsque la case à
122 cocher n'est pas cochée, rien n'est soumis. En interne,
123 <classname>Zend_Form_Element_Checkbox</classname> applique cet état.
126 Par défaut, la valeur cochée est '1', et la valeur non cochée est '0'.
127 Vous pouvez spécifier les valeurs en utilisant respectivement les accesseurs
128 <methodname>setCheckedValue()</methodname>
129 et <methodname>setUncheckedValue()</methodname>. En interne, à chaque fois que
130 vous définissez une valeur, si la valeur fournie correspond à la valeur cochée,
131 alors elle sera définie, mais toutes autres valeurs aura pour effet que la valeur
132 non cochée sera sélectionnée.
135 En sus, définir la valeur définit la propriété <code>checked</code>
136 de la case à cocher. Vous pouvez la récupérer en utilisant
137 <methodname>isChecked()</methodname> ou simplement en accédant à la propriété.
138 Utiliser la méthode <methodname>setChecked($flag)</methodname> l'état du flag
139 ainsi que la valeur cochée ou non cochée de l'élément.
140 Veillez à utiliser cette méthode lorsque vous définissez l'état coché d'un élément
141 case à cocher afin d'être sûr que la valeur est correctement définie.
144 <classname>Zend_Form_Element_Checkbox</classname> utilise le helper de vue
145 'formCheckbox'. La valeur cochée est toujours utilisé pour le remplir.
148 <sect2 id="zend.form.standardElements.file">
149 <title>Zend_Form_Element_File</title>
151 L'élément de formulaire File fournit un mécanisme pour fournir des champs
152 d'upload de fichier à votre formulaire. Il utilise <link
153 linkend="zend.file.transfer.introduction">Zend_File_Transfer</link>
154 en interne pour fournir cette fonctionnalité et le helper de vue
155 <code>FormFile</code> ainsi que le décorateur <code>File</code>
156 pour afficher l'élément de formulaire.
159 Par défaut, il utilise l'adapteur de transfert<code>Http</code> qui
160 inspecte le tableau <varname>$_FILES</varname> et vous permet d'attacher
161 des validateurs et des filtres. Les validateurs et les filtres attachés
162 au formulaire sont à leur tour attachés à l'adapteur de transfert.
164 <example id="zend.form.standardElements.file.usage">
165 <title>Utilisation de l'élément de formulaire File</title>
167 L'explication d'utilisation de l'élément de formulaire File ci-dessous
168 peut sembler ésotérique, mais l'usage est en fait relativement trivial :
170 <programlisting language="php"><![CDATA[
171 $element = new Zend_Form_Element_File('foo');
172 $element->setLabel('Upload une image:')
173 ->setDestination('/var/www/upload');
174 // Fait en sorte qu'il y ait un seul fichier
175 $element->addValidator('Count', false, 1);
177 $element->addValidator('Size', false, 102400);
178 // seulement des JPEG, PNG, et GIFs
179 $element->addValidator('Extension', false, 'jpg,png,gif');
180 $form->addElement($element, 'foo');
183 Vous devez aussi vous assurer que le type d'encodage correct est fourni au
184 formulaire ; vous devez utiliser 'multipart/form-data'. Vous pouvez faire
185 cela en définissant l'attribut 'enctype' du formulaire:
187 <programlisting language="php"><![CDATA[
188 $form->setAttrib('enctype', 'multipart/form-data');
191 Après que le formulaire soit validé avec succès, vous devriez recevoir
192 le fichier afin de le stocker dans sa destination finale en utilisant
193 <methodname>receive()</methodname>.
194 De plus, vous pouvez déterminer son emplacement finale en utilisant
195 <methodname>getFileName()</methodname>:
197 <programlisting language="php"><![CDATA[
198 if (!$form->isValid()) {
199 print "Uh oh... erreur de validation";
201 if (!$form->foo->receive()) {
202 print "Erreur de réception de fichier";
204 $location = $form->foo->getFileName();
208 <title>Emplacement d'upload par défaut</title>
210 Par défaut, les fichiers sont uploadés dans le répertoire temp
215 <title>Valeur de fichier</title>
217 Au sein du <acronym>HTTP</acronym> un élément fichier n'a aucune valeur.
218 Pour cette raison et pour des raisons de sécurité
219 <methodname>getValue()</methodname> retourne seulement le nom du fichier
220 uploadé et non le chemin complet. Si vous avez besoin du chemin du fichier,
221 appellez <methodname>getFileName()</methodname>, qui retourne à la fois le
222 chemin et le nom du fichier.
226 Par défaut, le fichier sera automatiquement reçu quand vous appellerez
227 <methodname>getValues()</methodname> sur le formulaire. La raison derrière
228 ce comportement est que le fichier lui même est la valeur de l'élément fichier.
230 <programlisting language="php"><![CDATA[
235 Ainsi, un appel supplémentaire de <methodname>receive()</methodname> après avoir
236 appellé <methodname>getValues()</methodname> n'aura aucun effet. De même, créer
237 une instance de <classname>Zend_File_Transfer</classname> n'aura aucun effet non
238 plus puisqu'il n'y aura plus de fichier à recevoir.
242 Cela dit, parfois vous aurez besoin d'appeller <methodname>getValues()</methodname> sans
243 recevoir le fichier. Vous pouvez l'archiver en appellant
244 <methodname>setValueDisabled(true)</methodname>. Afin de recevoir la véritable valeur de
245 ce flag vous pouvez appeller <methodname>isValueDisabled()</methodname>.
247 <example id="zend.form.standardElements.file.retrievement">
248 <title>Récupération explicite de fichier</title>
250 Tout d'abord appellez<methodname>setValueDisabled(true)</methodname>.
252 <programlisting language="php"><![CDATA[
253 $element = new Zend_Form_Element_File('foo');
254 $element->setLabel('Uploadez une image:')
255 ->setDestination('/var/www/upload')
256 ->setValueDisabled(true);
259 Désormais le fichier sera reçu lorsque vous appellerez
260 <methodname>getValues()</methodname>. Donc vous devez appeller vous même
261 <methodname>receive()</methodname> sur l'élément fichier, ou une instance de
262 <classname>Zend_File_Transfer</classname> .
264 <programlisting language="php"><![CDATA[
265 $values = $form->getValues();
266 if ($form->isValid($form->getPost())) {
267 if (!$form->foo->receive()) {
268 print "Erreur d'upload";
274 Il ya plusieurs étapes du fichier uploadés qui peuvent être vérifiées
275 avec les méthodes suivantes :
280 <methodname>isUploaded()</methodname> : Vérifie si l'élément fichier
281 a été uploadé ou non.
286 <methodname>isReceived()</methodname> : Vérifie si l'élément fichier
292 <methodname>isFiltered()</methodname> : Vérifie si les filtres ont
293 déjà été appliqué ou non sur l'élément fichier.
297 <example id="zend.form.standardElements.file.isuploaded">
298 <title>Vérifier si un fichier optionnel a été uploadé</title>
299 <programlisting language="php"><![CDATA[
300 $element = new Zend_Form_Element_File('foo');
301 $element->setLabel('Uploader une image:')
302 ->setDestination('/var/www/upload')
303 ->setRequired(false);
304 $element->addValidator('Size', false, 102400);
305 $form->addElement($element, 'foo');
306 // L'élément fichier foo est optionnel mais quand il est renseigné va là
307 if ($form->foo->isUploaded()) {
308 // fichier foo donné, faire quelque chose
313 <classname>Zend_Form_Element_File</classname> supporte aussi les fichiers multiples.
314 En appellant la méthode <methodname>setMultiFile($count)</methodname> vous pouvez définir,
315 le nombre d'éléments fichier à créer. Ceci vous évite de définir les mêmes
316 réglages plusieurs fois.
318 <example id="zend.form.standardElements.file.multiusage">
319 <title>Définir plusieurs fichiers</title>
321 Créer un élément multifichier est identique à la création d'un élément unique.
322 Appellez simplement <methodname>setMultiFile()</methodname> après que l'élément soit créé:
324 <programlisting language="php"><![CDATA[
325 $element = new Zend_Form_Element_File('foo');
326 $element->setLabel('Uploadez une image:')
327 ->setDestination('/var/www/upload');
328 // s'assure qu'il y a un fichier au minimum, 3 au maximum
329 $element->addValidator('Count', false, array('min' => 1, 'max' => 3));
331 $element->addValidator('Size', false, 102400);
332 // seulement des JPEG, PNG, et des GIF
333 $element->addValidator('Extension', false, 'jpg,png,gif');
334 // définit 3 éléments fichiers identiques
335 $element->setMultiFile(3);
336 $form->addElement($element, 'foo');
339 Vous avez maintenant 3 éléments d'upload de fichier identiques
340 avec les mêmes paramètres. Pour obtenir le nombre de fichiers multiples
341 défini, appellez simplement
342 <methodname>getMultiFile()</methodname>.
346 <title>Eléments de fichier dans un sous formulaire</title>
348 Quand vous l'utilisez dans des sous formulaires, vous devez définir
350 Par exemple, si vous nommez un élément fichier "file" dans le subform1,
351 vous devez un nom différent à tout autre élément fichier dans subform2.
354 Si il y a deux éléments fichier portant le même nom, le second élément
355 n'est pas affiché ou soumis.
358 De plus, les éléments fichiers ne sont pas affichés au sein du sous formulaire.
359 Donc lorsque vous ajouter un élément fichier dans un sous formulaire, l'élément
360 sera affiché dans le formulaire principal.
364 Afin de limiter, vous pouvez spécifier la taille maximum d'un fichier en définissant
365 l'option <constant>MAX_FILE_SIZE</constant> sur le formulaire. Quand vous définissez
366 cette valeur en utilisant la méthode
367 <methodname>setMaxFileSize($size)</methodname>, elle sera affiché avec l'élément
370 <programlisting language="php"><![CDATA[
371 $element = new Zend_Form_Element_File('foo');
372 $element->setLabel('Uploadez une image:')
373 ->setDestination('/var/www/upload')
374 ->addValidator('Size', false, 102400) // limit to 100K
375 ->setMaxFileSize(102400); // limite la taille de fichier coté client
376 $form->addElement($element, 'foo');
379 <title>MaxFileSize et Eléments fichier multiple</title>
381 Quand vous utilisez des éléments fichiers multiples dans votre formulaire
382 vous devez définir <constant>MAX_FILE_SIZE</constant> seulement une fois.
383 La redéfinir écrasera la valeur précédente.
386 Notez que c'est aussi le cas lorsque vous utilisez des formulaires multiples.
390 <sect2 id="zend.form.standardElements.hidden">
391 <title>Zend_Form_Element_Hidden</title>
393 Les éléments cachés injectent des données qui doivent être soumises, mais pas manipulées
394 par l'utilisateur. <classname>Zend_Form_Element_Hidden</classname> remplit cette tâche
395 avec le helper de vue 'formHidden'.
398 <sect2 id="zend.form.standardElements.hash">
399 <title>Zend_Form_Element_Hash</title>
401 Cette élément fournit une proctection contre les attaques CSRF sur les formulaires,
402 en s'assurant que les données sont soumises par la session utilisateur qui a
403 générée le formulaire et non par un script malveillant. La protection est réalisée
404 en ajouté un élément de hachage au formulaire et en le vérifiant lors de la soumission
408 Le nom de l'élément de hachage doit être unique. Nous recommandons d'utiliser
409 l'option <literal>salt</literal> pour l'élément - deux hachages ayant le même nom
410 mais des salt différent ne causeront pas de collision :
412 <programlisting language="php"><![CDATA[
413 $form->addElement('hash', 'no_csrf_foo', array('salt' => 'unique'));
416 Vous pouvez définir le salt ultérieurement en utilisant la méthode
417 <methodname>setSalt($salt)</methodname>.
420 En interne, l'élément stocke un identifiant unique en utilisant
421 <classname>Zend_Session_Namespace</classname>, et le vérifie lors de la soumission
422 (en vérifiant que le TTL n'a pas expiré). Le validateur 'Identical' est ensuite
423 utilisé pour s'assurer que le hachage soumis correspond au hachage stocké.
426 Le helper de vue 'formHidden' est utilisé pour rendre l'élément dans le formulaire.
429 <sect2 id="zend.form.standardElements.Image">
430 <title>Zend_Form_Element_Image</title>
432 Des images peuvent être utilisées comme éléments de formulaires, et vous
433 pouvez utiliser ces images en tant qu'éléments graphiques sur les
434 boutons de formulaires.
437 Les images ont besoin d'une image source. <classname>Zend_Form_Element_Image</classname>
438 permet de la spécifier en utilisant l'accesseur <methodname>setImage()</methodname>
439 (ou la clé de configuration 'imageValue'). Quant la valeur définie pour l'élément
440 corresponde à <code>imageValue</code>, alors l'accesseur
441 <methodname>isChecked()</methodname> retournera <constant>TRUE</constant>.
444 Les éléments image utilise le
445 <link linkend="zend.form.standardDecorators.image"> décorateur Image
446 </link> pour le rendu, en plus des décorateur standard Errors,
447 HtmlTag et Label. Vous pouvez spécifier une balise en option au décorateur
448 <code>Image</code> qui entourera l'élément image.
451 <sect2 id="zend.form.standardElements.multiCheckbox">
452 <title>Zend_Form_Element_MultiCheckbox</title>
454 Souvent, vous pouvez avoir un ensemble de case à cocher apparenté, et vous
455 souhaitez grouper ces résultat. Cela ressemble beaucoup à <link
456 linkend="zend.form.standardElements.multiselect"> Multiselect</link>,
457 mais au lieu que ce soit une liste déroulant, vous avez besoin d'afficher
458 des paires case à cocher/valeur.
461 <classname>Zend_Form_Element_MultiCheckbox</classname> rend cela simple
462 comme bonjour. Comme tous les éléments qui étendent l'élément de base Multi,
463 vous pouvez spécifier une liste d'options et les valider simplement à l'aide
464 de cette même liste. Le helper de vue 'formMultiCheckbox' s'assure qu'elles
465 seront retournées dans un tableau lors la soumission du formulaire.
468 Par défaut, cet élément enregistre un validateur <code>InArray</code>
469 qui effectue la validation à l'aide des clés du tableau d'options enregistrées.
470 Vous pouvez désactiver ce comportement, soit en appellant
471 <methodname>setRegisterInArrayValidator(false)</methodname>, soit en passant
472 une valeur <constant>FALSE</constant> à la clé de configuration
473 <code>registerInArrayValidator</code>.
476 Vous pouvez manipuler les diverses options de case à cocher en utilisant
477 les méthodes suivantes :
481 <para><methodname>addMultiOption($option, $value)</methodname></para>
484 <para><methodname>addMultiOptions(array $options)</methodname></para>
488 <methodname>setMultiOptions(array $options)</methodname> (écrase les options
492 <listitem><para><methodname>getMultiOption($option)</methodname></para></listitem>
493 <listitem><para><methodname>getMultiOptions()</methodname></para></listitem>
494 <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
495 <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
498 Pour marquer les éléments cochés, vous devez passer un tableau de valeur à
499 <methodname>setValue()</methodname>. Ce qui suit cochera les valeur "bar"
502 <programlisting language="php"><![CDATA[
503 $element = new Zend_Form_Element_MultiCheckbox('foo', array(
504 'multiOptions' => array(
505 'foo' => 'Foo Option',
506 'bar' => 'Bar Option',
507 'baz' => 'Baz Option',
508 'bat' => 'Bat Option',
511 $element->setValue(array('bar', 'bat'));
514 Notez que même en définissant une valeur unique vous devrez passer un tableau.
517 <sect2 id="zend.form.standardElements.multiselect">
518 <title>Zend_Form_Element_Multiselect</title>
520 Les éléments <code>select</code> <acronym>XHTML</acronym> autorisent un attribut
521 'multiple', indiquant que plusieurs options peuvent être sélectionné pour la soumission
522 du formulaire, au lieu d'une seule habituellement.
523 <classname>Zend_Form_Element_Multiselect</classname> étend
525 linkend="zend.form.standardElements.select">Zend_Form_Element_Select</link>,
526 et définit l'attribut <code>multiple</code> à 'multiple'. Comme les autres classes qui
527 hétite la classe de base
528 <classname>Zend_Form_Element_Multi</classname>, vous pouvez manipuler les options
529 du select en utilisant :
533 <para><methodname>addMultiOption($option, $value)</methodname></para>
536 <para><methodname>addMultiOptions(array $options)</methodname></para>
540 <methodname>setMultiOptions(array $options)</methodname> (écrase les options
544 <listitem><para><methodname>getMultiOption($option)</methodname></para></listitem>
545 <listitem><para><methodname>getMultiOptions()</methodname></para></listitem>
546 <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
547 <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
550 Si un adapteur de traduction est enregistré au niveau du formulaire et/ou
551 de l'élément, les valeurs des options seront traduites dans le cadre de
555 Par défaut, cette élément utilise un validateur <code>InArray</code>
556 qui effectue sa validation à partir des clés de tableau des options enregistrées.
557 Vous pouvez désactiver ce comportement, soit en appellant
558 <methodname>setRegisterInArrayValidator(false)</methodname>, ou en passant une valeur
559 <constant>FALSE</constant> à la clé de configuration
560 <code>registerInArrayValidator</code>.
563 <sect2 id="zend.form.standardElements.password">
564 <title>Zend_Form_Element_Password</title>
566 Les éléments mot de passe sont fondamentalement des éléments texte normaux
567 -- à l'exception du fait que vous ne voulez pas que le mot de passe soumis
568 soit affiché dans les messages d'erreurs ou lorsque le formulaire est
572 <classname>Zend_Form_Element_Password</classname> effectue cela en appellant
573 <methodname>setObscureValue(true)</methodname> sur chaque validateur (s'assurant
574 ainsi que le mot de passe est dissimulé dans les messages d'erreur de validation),
575 et utilise le helper de vue 'formPassword' qui n'affiche pas la valeur qui lui est
579 <sect2 id="zend.form.standardElements.radio">
580 <title>Zend_Form_Element_Radio</title>
582 Les éléments radio vous permettend de spécifier plusieurs options, parmi
583 lesquelles vous n'avez besoin que d'une seule. <classname>Zend_Form_Element_Radio</classname>
584 étend la classe de base <classname>Zend_Form_Element_Multi</classname>,
585 vous permettant ainsi de spécifier un nombre indéfini d'options, et utilise
586 ensuite le helper de vue <code>formRadio</code> pour les afficher.
589 Par défaut, cette élément utilise un validateur <code>InArray</code>
590 qui effectue sa validation à partir des clés de tableau des options enregistrées.
591 Vous pouvez désactiver ce comportement, soit en appellant
592 <methodname>setRegisterInArrayValidator(false)</methodname>, ou en passant une valeur
593 <constant>FALSE</constant> à la clé de configuration
594 <code>registerInArrayValidator</code>.
597 Comme tous les éléments étendant la classe de base Multi element, les méthodes
598 suivantes peuvent être utilisé pour manipuler les options radio affichées :
602 <para><methodname>addMultiOption($option, $value)</methodname></para>
605 <para><methodname>addMultiOptions(array $options)</methodname></para>
609 <methodname>setMultiOptions(array $options)</methodname>
610 (écrase les options existantes)
613 <listitem><para><methodname>getMultiOption($option)</methodname></para></listitem>
614 <listitem><para><methodname>getMultiOptions()</methodname></para></listitem>
615 <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
616 <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
619 <sect2 id="zend.form.standardElements.reset">
620 <title>Zend_Form_Element_Reset</title>
622 Les boutons de mise à zéro sont typiquement utilisé pour vider un formulaire,
623 et ne font pas partie des données soumises. Cela dit, comme ils remplissent un rôle
624 dans l'affichage, ils sont inclus dans les éléments standards.
627 <classname>Zend_Form_Element_Reset</classname> étend <link
628 linkend="zend.form.standardElements.submit">Zend_Form_Element_Submit</link>.
629 Ainsi, le label est utilisé pour l'affichage du bouton et sera traduit, si un
630 adapteur de traduction est présent. Il utilise seulement les décorateurs
631 'ViewHelper' et 'DtDdWrapper', puisqu'il ne devrait jamais y avoir de messages
632 d'erreur pour ces éléments, le label ne sera pas non plus nécessaire.
635 <sect2 id="zend.form.standardElements.select">
636 <title>Zend_Form_Element_Select</title>
638 Les listes d'options sont une manière habituelle de limiter des choix spécifiques.
639 <classname>Zend_Form_Element_Select</classname> vous permet de les générer
640 rapidement et facilement.
643 Par défaut, cette élément utilise un validateur <code>InArray</code>
644 qui effectue sa validation à partir des clés de tableau des options enregistrées.
645 Vous pouvez désactiver ce comportement, soit en appellant
646 <methodname>setRegisterInArrayValidator(false)</methodname>, ou en passant une valeur
647 <constant>FALSE</constant> à la clé de configuration
648 <code>registerInArrayValidator</code>.
651 Comme il étend l'élément de base Multi, les méthodes suivantes peuvent
652 être utilisées pour manipuler les options du select :
656 <para><methodname>addMultiOption($option, $value)</methodname></para>
659 <para><methodname>addMultiOptions(array $options)</methodname></para>
663 <methodname>setMultiOptions(array $options)</methodname>
664 (écrase les options existantes)
667 <listitem><para><methodname>getMultiOption($option)</methodname></para></listitem>
668 <listitem><para><methodname>getMultiOptions()</methodname></para></listitem>
669 <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
670 <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
673 <classname>Zend_Form_Element_Select</classname> utilise le helper de vue
674 'formSelect pour la décoration.
677 <sect2 id="zend.form.standardElements.submit">
678 <title>Zend_Form_Element_Submit</title>
680 Les boutons Submit sont utilisé pour soumettre un formulaire. Vous pouvez
681 utiliser plusieurs boutons submit ; vous pouvez utiliser le bouton utilisé
682 pour soumettre le formulaire afin de décider quelle action effectuer avec
683 les données soumises.
684 <classname>Zend_Form_Element_Submit</classname> rend cette décisions simple,
685 en ajoutant une méthode <methodname>isChecked()</methodname> method ; puisqu'un
686 seul élément bouton sera soumis par le formulaire, après avoir rempli ou validé
687 le formulaire, vous pourrez appeller cette méthode sur chacun des boutons submit
688 afin de déterminer lequel a été utilisé.
691 <classname>Zend_Form_Element_Submit</classname> utilise le label comme "value"
692 du bouton submit, il sera traduit si un adapeur de traduction est présent.
693 <methodname>isChecked()</methodname> vérifie la valeur soumises avec
694 le label pour déterminer si le bouton a été utilisé.
697 Les décorateurs <link
698 linkend="zend.form.standardDecorators.viewHelper">ViewHelper</link>
700 linkend="zend.form.standardDecorators.dtDdWrapper">DtDdWrapper</link>
701 sont utilisé pour rendre cet élément. Aucun décorateur de label n'est utilisé,
702 puisque le label du bouton est utilisé lors du rendu de l'élément ; de plus,
703 vous n'associerez aucune erreurs avec l'élément submit.
706 <sect2 id="zend.form.standardElements.text">
707 <title>Zend_Form_Element_Text</title>
709 De loin le type d'élément de formulaire le plus répandu est l'élément text,
710 celui ci autorise des saisies de texte limité ; c'est un élément idéal pour
711 la plupart des saisies de données. <classname>Zend_Form_Element_Text</classname>
712 utilise simplement le helper de vue 'formText' pour afficher l'élément.
715 <sect2 id="zend.form.standardElements.textarea">
716 <title>Zend_Form_Element_Textarea</title>
718 Les Textareas sont utilisé lorsque de grandes quantités de texte sont
719 attendues, et ne limite pas la quantité de texte soumise (si ce n'est la
720 taille limite fixée par votre serveur ou <acronym>PHP</acronym>).
721 <classname>Zend_Form_Element_Textarea</classname> utilise le helper de vue
722 'textArea' pour afficher ces éléments, et place la valeur comme contenu de
728 vim:se ts=4 sw=4 tw=80 et: