| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724 |
- <?xml version="1.0" encoding="utf-8"?>
- <!-- EN-Revision: 21996 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.form.standardElements">
- <title>Les éléments standards fournis avec Zend Framework</title>
- <para>
- Zend Framework est fournis avec des classes d'éléments couvrant la
- plupart des éléments de formulaire HTML. La plupart spécifie un helper de
- vue en particulier à utiliser pour décorer un élément, mais plusieurs
- d'entre elles offrent des fonctionnalités supplémentaires. Ce qui suit est
- une liste de toutes ces classes, ainsi que des descriptions des
- fonctionnalités offertes.
- </para>
- <sect2 id="zend.form.standardElements.button">
- <title>Zend_Form_Element_Button</title>
- <para>
- Utilisé pour créer des éléments boutons,
- <classname>Zend_Form_Element_Button</classname> étend <link
- linkend="zend.form.standardElements.submit">Zend_Form_Element_Submit</link>,
- spécifie quelques fonctionnalités personnalisées. Il spécifie le
- helper de vue 'formButton' pour la décoration.
- </para>
- <para>
- Comme l'élément submit, il utilise le label de l'élément en tant que
- valeur de l'élément lors de l'affichage ; autrement dit, pour définir
- le text du bouton, définissez la valeur de l'élément. Le label sera
- traduit si l'adapteur de traduction est présent.
- </para>
- <para>
- Comme le label est utilisé comme faisant partie de l'élément,
- l'élément bouton utilise seulement <link
- linkend="zend.form.standardDecorators.viewHelper">ViewHelper</link>
- et les décorateurs <link
- linkend="zend.form.standardDecorators.dtDdWrapper">DtDdWrapper</link>.
- </para>
- </sect2>
- <sect2 id="zend.form.standardElements.captcha">
- <title>Zend_Form_Element_Captcha</title>
- <para>
- Les CAPTCHAs sont utilisé pour empêcher la soumission automatique des
- formulaires par des bots et autre processus automatisés.
- </para>
- <para>
- L'élément de formulaire Captcha permet de spécifier quel <link
- linkend="zend.captcha.adapters">Adapteur Zend_Captcha</link> vous
- désirez utiliser. Il définit ensuite cet adapteur comme
- validateur à l'objet, et utilise le décorateur du Captcha pour
- l'affichage (ce qui fait office de proxy vers l'adapteur CAPTCHA).
- </para>
- <para>
- Les adapteurs peuvent être n'importe quel adapteur de
- <classname>Zend_Captcha</classname>, ou n'importe quel adapteur que
- vous avez défini par ailleurs. Pour permettre ceci, vous devrez passer
- une clé supplémentaire de plugin loader, 'CAPTCHA'
- ou 'captcha', lorsque vous spécifiez un prefixe de chemin de plugin loader :
- </para>
- <programlisting language="php"><![CDATA[
- $element->addPrefixPath('My_Captcha', 'My/Captcha/', 'captcha');
- ]]></programlisting>
- <para>
- Le Captcha peut ensuite être enregistré en utilisant la méthode
- <methodname>setCaptcha()</methodname>, qui prend en paramètre soit
- une instance concrête de CAPTCHA soit le nom court d'un adapteur CAPTCHA :
- </para>
- <programlisting language="php"><![CDATA[
- // Instance concrête:
- $element->setCaptcha(new Zend_Captcha_Figlet());
- // Utilisation d'un nom court :
- $element->setCaptcha('Dumb');
- ]]></programlisting>
- <para>
- Si vous souhaitez charger votre élément via la configuration, spécifiez soit
- la clé 'captcha' avec un tableau contenant la clé 'captcha', soit les clés
- 'captcha' et 'captchaOptions' :
- </para>
- <programlisting language="php"><![CDATA[
- // Utilisation d'une clé captcha :
- $element = new Zend_Form_Element_Captcha('foo', array(
- 'label' => "Merci de confirmer que vous êtes humain",
- 'captcha' => array(
- 'captcha' => 'Figlet',
- 'wordLen' => 6,
- 'timeout' => 300,
- ),
- ));
- // Utilisation simultanée des clés captcha et captchaOption :
- $element = new Zend_Form_Element_Captcha('foo', array(
- 'label' => "Merci de confirmer que vous êtes humain",
- 'captcha' => 'Figlet',
- 'captchaOptions' => array(
- 'captcha' => 'Figlet',
- 'wordLen' => 6,
- 'timeout' => 300,
- ),
- ));
- ]]></programlisting>
- <para>
- Le décorateur utilisé est déterminé lors de la récupération de l'adapteur
- du captcha. Par défaut, le <link
- linkend="zend.form.standardDecorators.captcha"> décorateur
- du captcha</link> est utilisé, mais un adapteur peut spécifier un décorateur
- différent via sa méthode <methodname>getDecorator()</methodname>.
- </para>
- <para>
- Comme noté, l'adapteur de captcha lui même agit comme un validateur pour
- l'élément. De plus, le validateur NotEmpty n'est pas utilisé, et l'élément
- est marqué comme requis. Dans la plupart des cas, vous n'aurez besoin de
- rien d'autre pour que le captcha soit présent dans votre formulaire.
- </para>
- </sect2>
- <sect2 id="zend.form.standardElements.checkbox">
- <title>Zend_Form_Element_Checkbox</title>
- <para>
- Les cases à cocher HTML vous permettent de retourner une valeur spécifique,
- mais elles fonctionnent essentiellement comme des booléens. Lorsque elle
- est cochée, la valeur de la case à cocher est soumise. Lorsque la case à
- cocher n'est pas cochée, rien n'est soumis. En interne,
- <classname>Zend_Form_Element_Checkbox</classname> applique cet état.
- </para>
- <para>
- Par défaut, la valeur cochée est '1', et la valeur non cochée est '0'.
- Vous pouvez spécifier les valeurs en utilisant respectivement les accesseurs
- <methodname>setCheckedValue()</methodname>
- et <methodname>setUncheckedValue()</methodname>. En interne, à chaque fois que
- vous définissez une valeur, si la valeur fournie correspond à la valeur cochée,
- alors elle sera définie, mais toutes autres valeurs aura pour effet que la valeur
- non cochée sera sélectionnée.
- </para>
- <para>
- En sus, définir la valeur définit la propriété <code>checked</code>
- de la case à cocher. Vous pouvez la récupérer en utilisant
- <methodname>isChecked()</methodname> ou simplement en accédant à la propriété.
- Utiliser la méthode <methodname>setChecked($flag)</methodname> l'état du flag
- ainsi que la valeur cochée ou non cochée de l'élément.
- Veillez à utiliser cette méthode lorsque vous définissez l'état coché d'un élément
- case à cocher afin d'être sûr que la valeur est correctement définie.
- </para>
- <para>
- <classname>Zend_Form_Element_Checkbox</classname> utilise le helper de vue
- 'formCheckbox'. La valeur cochée est toujours utilisé pour le remplir.
- </para>
- </sect2>
- <sect2 id="zend.form.standardElements.file">
- <title>Zend_Form_Element_File</title>
- <para>
- L'élément de formulaire File fournit un mécanisme pour fournir des champs
- d'upload de fichier à votre formulaire. Il utilise <link
- linkend="zend.file.transfer.introduction">Zend_File_Transfer</link>
- en interne pour fournir cette fonctionnalité et le helper de vue
- <code>FormFile</code> ainsi que le décorateur <code>File</code>
- pour afficher l'élément de formulaire.
- </para>
- <para>
- Par défaut, il utilise l'adapteur de transfert<code>Http</code> qui
- inspecte le tableau <varname>$_FILES</varname> et vous permet d'attacher
- des validateurs et des filtres. Les validateurs et les filtres attachés
- au formulaire sont à leur tour attachés à l'adapteur de transfert.
- </para>
- <example id="zend.form.standardElements.file.usage">
- <title>Utilisation de l'élément de formulaire File</title>
- <para>
- L'explication d'utilisation de l'élément de formulaire File ci-dessous
- peut sembler ésotérique, mais l'usage est en fait relativement trivial :
- </para>
- <programlisting language="php"><![CDATA[
- $element = new Zend_Form_Element_File('foo');
- $element->setLabel('Upload une image:')
- ->setDestination('/var/www/upload');
- // Fait en sorte qu'il y ait un seul fichier
- $element->addValidator('Count', false, 1);
- // limite à 100K
- $element->addValidator('Size', false, 102400);
- // seulement des JPEG, PNG, et GIFs
- $element->addValidator('Extension', false, 'jpg,png,gif');
- $form->addElement($element, 'foo');
- ]]></programlisting>
- <para>
- Vous devez aussi vous assurer que le type d'encodage correct est fourni au
- formulaire ; vous devez utiliser 'multipart/form-data'. Vous pouvez faire
- cela en définissant l'attribut 'enctype' du formulaire:
- </para>
- <programlisting language="php"><![CDATA[
- $form->setAttrib('enctype', 'multipart/form-data');
- ]]></programlisting>
- <para>
- Après que le formulaire soit validé avec succès, vous devriez recevoir
- le fichier afin de le stocker dans sa destination finale en utilisant
- <methodname>receive()</methodname>.
- De plus, vous pouvez déterminer son emplacement finale en utilisant
- <methodname>getFileName()</methodname>:
- </para>
- <programlisting language="php"><![CDATA[
- if (!$form->isValid()) {
- print "Uh oh... erreur de validation";
- }
- if (!$form->foo->receive()) {
- print "Erreur de réception de fichier";
- }
- $location = $form->foo->getFileName();
- ]]></programlisting>
- </example>
- <note>
- <title>Emplacement d'upload par défaut</title>
- <para>
- Par défaut, les fichiers sont uploadés dans le répertoire temp
- du système.
- </para>
- </note>
- <note>
- <title>Valeur de fichier</title>
- <para>
- Au sein du <acronym>HTTP</acronym> un élément fichier n'a aucune valeur.
- Pour cette raison et pour des raisons de sécurité
- <methodname>getValue()</methodname> retourne seulement le nom du fichier
- uploadé et non le chemin complet. Si vous avez besoin du chemin du fichier,
- appellez <methodname>getFileName()</methodname>, qui retourne à la fois le
- chemin et le nom du fichier.
- </para>
- </note>
- <para>
- Par défaut, le fichier sera automatiquement reçu quand vous appellerez
- <methodname>getValues()</methodname> sur le formulaire. La raison derrière
- ce comportement est que le fichier lui même est la valeur de l'élément fichier.
- </para>
- <programlisting language="php"><![CDATA[
- $form->getValues();
- ]]></programlisting>
- <note>
- <para>
- Ainsi, un appel supplémentaire de <methodname>receive()</methodname> après avoir
- appellé <methodname>getValues()</methodname> n'aura aucun effet. De même, créer
- une instance de <classname>Zend_File_Transfer</classname> n'aura aucun effet non
- plus puisqu'il n'y aura plus de fichier à recevoir.
- </para>
- </note>
- <para>
- Cela dit, parfois vous aurez besoin d'appeller <methodname>getValues()</methodname> sans
- recevoir le fichier. Vous pouvez l'archiver en appellant
- <methodname>setValueDisabled(true)</methodname>. Afin de recevoir la véritable valeur de
- ce flag vous pouvez appeller <methodname>isValueDisabled()</methodname>.
- </para>
- <example id="zend.form.standardElements.file.retrievement">
- <title>Récupération explicite de fichier</title>
- <para>
- Tout d'abord appellez<methodname>setValueDisabled(true)</methodname>.
- </para>
- <programlisting language="php"><![CDATA[
- $element = new Zend_Form_Element_File('foo');
- $element->setLabel('Uploadez une image:')
- ->setDestination('/var/www/upload')
- ->setValueDisabled(true);
- ]]></programlisting>
- <para>
- Désormais le fichier sera reçu lorsque vous appellerez
- <methodname>getValues()</methodname>. Donc vous devez appeller vous même
- <methodname>receive()</methodname> sur l'élément fichier, ou une instance de
- <classname>Zend_File_Transfer</classname> .
- </para>
- <programlisting language="php"><![CDATA[
- $values = $form->getValues();
- if ($form->isValid($form->getPost())) {
- if (!$form->foo->receive()) {
- print "Erreur d'upload";
- }
- }
- ]]></programlisting>
- </example>
- <para>
- Il ya plusieurs étapes du fichier uploadés qui peuvent être vérifiées
- avec les méthodes suivantes :
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <methodname>isUploaded()</methodname> : Vérifie si l'élément fichier
- a été uploadé ou non.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>isReceived()</methodname> : Vérifie si l'élément fichier
- a déjà été reçu.
- </para>
- </listitem>
- <listitem>
- <para>
- <methodname>isFiltered()</methodname> : Vérifie si les filtres ont
- déjà été appliqué ou non sur l'élément fichier.
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.form.standardElements.file.isuploaded">
- <title>Vérifier si un fichier optionnel a été uploadé</title>
- <programlisting language="php"><![CDATA[
- $element = new Zend_Form_Element_File('foo');
- $element->setLabel('Uploader une image:')
- ->setDestination('/var/www/upload')
- ->setRequired(false);
- $element->addValidator('Size', false, 102400);
- $form->addElement($element, 'foo');
- // L'élément fichier foo est optionnel mais quand il est renseigné va là
- if ($form->foo->isUploaded()) {
- // fichier foo donné, faire quelque chose
- }
- ]]></programlisting>
- </example>
- <para>
- <classname>Zend_Form_Element_File</classname> supporte aussi les fichiers multiples.
- En appellant la méthode <methodname>setMultiFile($count)</methodname> vous pouvez définir,
- le nombre d'éléments fichier à créer. Ceci vous évite de définir les mêmes
- réglages plusieurs fois.
- </para>
- <example id="zend.form.standardElements.file.multiusage">
- <title>Définir plusieurs fichiers</title>
- <para>
- Créer un élément multifichier est identique à la création d'un élément unique.
- Appellez simplement <methodname>setMultiFile()</methodname> après que l'élément soit créé:
- </para>
- <programlisting language="php"><![CDATA[
- $element = new Zend_Form_Element_File('foo');
- $element->setLabel('Uploadez une image:')
- ->setDestination('/var/www/upload');
- // s'assure qu'il y a un fichier au minimum, 3 au maximum
- $element->addValidator('Count', false, array('min' => 1, 'max' => 3));
- // Limite à 100K
- $element->addValidator('Size', false, 102400);
- // seulement des JPEG, PNG, et des GIF
- $element->addValidator('Extension', false, 'jpg,png,gif');
- // définit 3 éléments fichiers identiques
- $element->setMultiFile(3);
- $form->addElement($element, 'foo');
- ]]></programlisting>
- <para>
- Vous avez maintenant 3 éléments d'upload de fichier identiques
- avec les mêmes paramètres. Pour obtenir le nombre de fichiers multiples
- défini, appellez simplement
- <methodname>getMultiFile()</methodname>.
- </para>
- </example>
- <note>
- <title>Eléments de fichier dans un sous formulaire</title>
- <para>
- Quand vous l'utilisez dans des sous formulaires, vous devez définir
- des noms uniques.
- Par exemple, si vous nommez un élément fichier "file" dans le subform1,
- vous devez un nom différent à tout autre élément fichier dans subform2.
- </para>
- <para>
- Si il y a deux éléments fichier portant le même nom, le second élément
- n'est pas affiché ou soumis.
- </para>
- <para>
- De plus, les éléments fichiers ne sont pas affichés au sein du sous formulaire.
- Donc lorsque vous ajouter un élément fichier dans un sous formulaire, l'élément
- sera affiché dans le formulaire principal.
- </para>
- </note>
- <para>
- Afin de limiter, vous pouvez spécifier la taille maximum d'un fichier en définissant
- l'option <constant>MAX_FILE_SIZE</constant> sur le formulaire. Quand vous définissez
- cette valeur en utilisant la méthode
- <methodname>setMaxFileSize($size)</methodname>, elle sera affiché avec l'élément
- fichier.
- </para>
- <programlisting language="php"><![CDATA[
- $element = new Zend_Form_Element_File('foo');
- $element->setLabel('Uploadez une image:')
- ->setDestination('/var/www/upload')
- ->addValidator('Size', false, 102400) // limit to 100K
- ->setMaxFileSize(102400); // limite la taille de fichier coté client
- $form->addElement($element, 'foo');
- ]]></programlisting>
- <note>
- <title>MaxFileSize et Eléments fichier multiple</title>
- <para>
- Quand vous utilisez des éléments fichiers multiples dans votre formulaire
- vous devez définir <constant>MAX_FILE_SIZE</constant> seulement une fois.
- La redéfinir écrasera la valeur précédente.
- </para>
- <para>
- Notez que c'est aussi le cas lorsque vous utilisez des formulaires multiples.
- </para>
- </note>
- </sect2>
- <sect2 id="zend.form.standardElements.hidden">
- <title>Zend_Form_Element_Hidden</title>
- <para>
- Les éléments cachés injectent des données qui doivent être soumises, mais pas manipulées
- par l'utilisateur. <classname>Zend_Form_Element_Hidden</classname> remplit cette tâche
- avec le helper de vue 'formHidden'.
- </para>
- </sect2>
- <sect2 id="zend.form.standardElements.hash">
- <title>Zend_Form_Element_Hash</title>
- <para>
- Cette élément fournit une proctection contre les attaques CSRF sur les formulaires,
- en s'assurant que les données sont soumises par la session utilisateur qui a
- générée le formulaire et non par un script malveillant. La protection est réalisée
- en ajouté un élément de hachage au formulaire et en le vérifiant lors de la soumission
- du formulaire.
- </para>
- <para>
- Le nom de l'élément de hachage doit être unique. Nous recommandons d'utiliser
- l'option <literal>salt</literal> pour l'élément - deux hachages ayant le même nom
- mais des salt différent ne causeront pas de collision :
- </para>
- <programlisting language="php"><![CDATA[
- $form->addElement('hash', 'no_csrf_foo', array('salt' => 'unique'));
- ]]></programlisting>
- <para>
- Vous pouvez définir le salt ultérieurement en utilisant la méthode
- <methodname>setSalt($salt)</methodname>.
- </para>
- <para>
- En interne, l'élément stocke un identifiant unique en utilisant
- <classname>Zend_Session_Namespace</classname>, et le vérifie lors de la soumission
- (en vérifiant que le TTL n'a pas expiré). Le validateur 'Identical' est ensuite
- utilisé pour s'assurer que le hachage soumis correspond au hachage stocké.
- </para>
- <para>
- Le helper de vue 'formHidden' est utilisé pour rendre l'élément dans le formulaire.
- </para>
- </sect2>
- <sect2 id="zend.form.standardElements.Image">
- <title>Zend_Form_Element_Image</title>
- <para>
- Des images peuvent être utilisées comme éléments de formulaires, et vous
- pouvez utiliser ces images en tant qu'éléments graphiques sur les
- boutons de formulaires.
- </para>
- <para>
- Les images ont besoin d'une image source. <classname>Zend_Form_Element_Image</classname>
- permet de la spécifier en utilisant l'accesseur <methodname>setImage()</methodname>
- (ou la clé de configuration 'imageValue'). Quant la valeur définie pour l'élément
- corresponde à <code>imageValue</code>, alors l'accesseur
- <methodname>isChecked()</methodname> retournera <constant>TRUE</constant>.
- </para>
- <para>
- Les éléments image utilise le
- <link linkend="zend.form.standardDecorators.image"> décorateur Image
- </link> pour le rendu, en plus des décorateur standard Errors,
- HtmlTag et Label. Vous pouvez spécifier une balise en option au décorateur
- <code>Image</code> qui entourera l'élément image.
- </para>
- </sect2>
- <sect2 id="zend.form.standardElements.multiCheckbox">
- <title>Zend_Form_Element_MultiCheckbox</title>
- <para>
- Souvent, vous pouvez avoir un ensemble de case à cocher apparenté, et vous
- souhaitez grouper ces résultat. Cela ressemble beaucoup à <link
- linkend="zend.form.standardElements.multiselect"> Multiselect</link>,
- mais au lieu que ce soit une liste déroulant, vous avez besoin d'afficher
- des paires case à cocher/valeur.
- </para>
- <para>
- <classname>Zend_Form_Element_MultiCheckbox</classname> rend cela simple
- comme bonjour. Comme tous les éléments qui étendent l'élément de base Multi,
- vous pouvez spécifier une liste d'options et les valider simplement à l'aide
- de cette même liste. Le helper de vue 'formMultiCheckbox' s'assure qu'elles
- seront retournées dans un tableau lors la soumission du formulaire.
- </para>
- <para>
- Par défaut, cet élément enregistre un validateur <code>InArray</code>
- qui effectue la validation à l'aide des clés du tableau d'options enregistrées.
- Vous pouvez désactiver ce comportement, soit en appellant
- <methodname>setRegisterInArrayValidator(false)</methodname>, soit en passant
- une valeur <constant>FALSE</constant> à la clé de configuration
- <code>registerInArrayValidator</code>.
- </para>
- <para>
- Vous pouvez manipuler les diverses options de case à cocher en utilisant
- les méthodes suivantes :
- </para>
- <itemizedlist>
- <listitem>
- <para><methodname>addMultiOption($option, $value)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>addMultiOptions(array $options)</methodname></para>
- </listitem>
- <listitem>
- <para>
- <methodname>setMultiOptions(array $options)</methodname> (écrase les options
- existantes)
- </para>
- </listitem>
- <listitem><para><methodname>getMultiOption($option)</methodname></para></listitem>
- <listitem><para><methodname>getMultiOptions()</methodname></para></listitem>
- <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
- <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
- </itemizedlist>
- <para>
- Pour marquer les éléments cochés, vous devez passer un tableau de valeur à
- <methodname>setValue()</methodname>. Ce qui suit cochera les valeur "bar"
- et "bat":
- </para>
- <programlisting language="php"><![CDATA[
- $element = new Zend_Form_Element_MultiCheckbox('foo', array(
- 'multiOptions' => array(
- 'foo' => 'Foo Option',
- 'bar' => 'Bar Option',
- 'baz' => 'Baz Option',
- 'bat' => 'Bat Option',
- )
- ));
- $element->setValue(array('bar', 'bat'));
- ]]></programlisting>
- <para>
- Notez que même en définissant une valeur unique vous devrez passer un tableau.
- </para>
- </sect2>
- <sect2 id="zend.form.standardElements.multiselect">
- <title>Zend_Form_Element_Multiselect</title>
- <para>
- Les éléments <code>select</code> <acronym>XHTML</acronym> autorisent un attribut
- 'multiple', indiquant que plusieurs options peuvent être sélectionné pour la soumission
- du formulaire, au lieu d'une seule habituellement.
- <classname>Zend_Form_Element_Multiselect</classname> étend
- <link
- linkend="zend.form.standardElements.select">Zend_Form_Element_Select</link>,
- et définit l'attribut <code>multiple</code> à 'multiple'. Comme les autres classes qui
- hétite la classe de base
- <classname>Zend_Form_Element_Multi</classname>, vous pouvez manipuler les options
- du select en utilisant :
- </para>
- <itemizedlist>
- <listitem>
- <para><methodname>addMultiOption($option, $value)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>addMultiOptions(array $options)</methodname></para>
- </listitem>
- <listitem>
- <para>
- <methodname>setMultiOptions(array $options)</methodname> (écrase les options
- existantes)
- </para>
- </listitem>
- <listitem><para><methodname>getMultiOption($option)</methodname></para></listitem>
- <listitem><para><methodname>getMultiOptions()</methodname></para></listitem>
- <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
- <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
- </itemizedlist>
- <para>
- Si un adapteur de traduction est enregistré au niveau du formulaire et/ou
- de l'élément, les valeurs des options seront traduites dans le cadre de
- l'affichage.
- </para>
- <para>
- Par défaut, cette élément utilise un validateur <code>InArray</code>
- qui effectue sa validation à partir des clés de tableau des options enregistrées.
- Vous pouvez désactiver ce comportement, soit en appellant
- <methodname>setRegisterInArrayValidator(false)</methodname>, ou en passant une valeur
- <constant>FALSE</constant> à la clé de configuration
- <code>registerInArrayValidator</code>.
- </para>
- </sect2>
- <sect2 id="zend.form.standardElements.password">
- <title>Zend_Form_Element_Password</title>
- <para>
- Les éléments mot de passe sont fondamentalement des éléments texte normaux
- -- à l'exception du fait que vous ne voulez pas que le mot de passe soumis
- soit affiché dans les messages d'erreurs ou lorsque le formulaire est
- affiché à nouveau.
- </para>
- <para>
- <classname>Zend_Form_Element_Password</classname> effectue cela en appellant
- <methodname>setObscureValue(true)</methodname> sur chaque validateur (s'assurant
- ainsi que le mot de passe est dissimulé dans les messages d'erreur de validation),
- et utilise le helper de vue 'formPassword' qui n'affiche pas la valeur qui lui est
- passé).
- </para>
- </sect2>
- <sect2 id="zend.form.standardElements.radio">
- <title>Zend_Form_Element_Radio</title>
- <para>
- Les éléments radio vous permettend de spécifier plusieurs options, parmi
- lesquelles vous n'avez besoin que d'une seule. <classname>Zend_Form_Element_Radio</classname>
- étend la classe de base <classname>Zend_Form_Element_Multi</classname>,
- vous permettant ainsi de spécifier un nombre indéfini d'options, et utilise
- ensuite le helper de vue <code>formRadio</code> pour les afficher.
- </para>
- <para>
- Par défaut, cette élément utilise un validateur <code>InArray</code>
- qui effectue sa validation à partir des clés de tableau des options enregistrées.
- Vous pouvez désactiver ce comportement, soit en appellant
- <methodname>setRegisterInArrayValidator(false)</methodname>, ou en passant une valeur
- <constant>FALSE</constant> à la clé de configuration
- <code>registerInArrayValidator</code>.
- </para>
- <para>
- Comme tous les éléments étendant la classe de base Multi element, les méthodes
- suivantes peuvent être utilisé pour manipuler les options radio affichées :
- </para>
- <itemizedlist>
- <listitem>
- <para><methodname>addMultiOption($option, $value)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>addMultiOptions(array $options)</methodname></para>
- </listitem>
- <listitem>
- <para>
- <methodname>setMultiOptions(array $options)</methodname>
- (écrase les options existantes)
- </para>
- </listitem>
- <listitem><para><methodname>getMultiOption($option)</methodname></para></listitem>
- <listitem><para><methodname>getMultiOptions()</methodname></para></listitem>
- <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
- <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
- </itemizedlist>
- </sect2>
- <sect2 id="zend.form.standardElements.reset">
- <title>Zend_Form_Element_Reset</title>
- <para>
- Les boutons de mise à zéro sont typiquement utilisé pour vider un formulaire,
- et ne font pas partie des données soumises. Cela dit, comme ils remplissent un rôle
- dans l'affichage, ils sont inclus dans les éléments standards.
- </para>
- <para>
- <classname>Zend_Form_Element_Reset</classname> étend <link
- linkend="zend.form.standardElements.submit">Zend_Form_Element_Submit</link>.
- Ainsi, le label est utilisé pour l'affichage du bouton et sera traduit, si un
- adapteur de traduction est présent. Il utilise seulement les décorateurs
- 'ViewHelper' et 'DtDdWrapper', puisqu'il ne devrait jamais y avoir de messages
- d'erreur pour ces éléments, le label ne sera pas non plus nécessaire.
- </para>
- </sect2>
- <sect2 id="zend.form.standardElements.select">
- <title>Zend_Form_Element_Select</title>
- <para>
- Les listes d'options sont une manière habituelle de limiter des choix spécifiques.
- <classname>Zend_Form_Element_Select</classname> vous permet de les générer
- rapidement et facilement.
- </para>
- <para>
- Par défaut, cette élément utilise un validateur <code>InArray</code>
- qui effectue sa validation à partir des clés de tableau des options enregistrées.
- Vous pouvez désactiver ce comportement, soit en appellant
- <methodname>setRegisterInArrayValidator(false)</methodname>, ou en passant une valeur
- <constant>FALSE</constant> à la clé de configuration
- <code>registerInArrayValidator</code>.
- </para>
- <para>
- Comme il étend l'élément de base Multi, les méthodes suivantes peuvent
- être utilisées pour manipuler les options du select :
- </para>
- <itemizedlist>
- <listitem>
- <para><methodname>addMultiOption($option, $value)</methodname></para>
- </listitem>
- <listitem>
- <para><methodname>addMultiOptions(array $options)</methodname></para>
- </listitem>
- <listitem>
- <para>
- <methodname>setMultiOptions(array $options)</methodname>
- (écrase les options existantes)
- </para>
- </listitem>
- <listitem><para><methodname>getMultiOption($option)</methodname></para></listitem>
- <listitem><para><methodname>getMultiOptions()</methodname></para></listitem>
- <listitem><para><methodname>removeMultiOption($option)</methodname></para></listitem>
- <listitem><para><methodname>clearMultiOptions()</methodname></para></listitem>
- </itemizedlist>
- <para>
- <classname>Zend_Form_Element_Select</classname> utilise le helper de vue
- 'formSelect pour la décoration.
- </para>
- </sect2>
- <sect2 id="zend.form.standardElements.submit">
- <title>Zend_Form_Element_Submit</title>
- <para>
- Les boutons Submit sont utilisé pour soumettre un formulaire. Vous pouvez
- utiliser plusieurs boutons submit ; vous pouvez utiliser le bouton utilisé
- pour soumettre le formulaire afin de décider quelle action effectuer avec
- les données soumises.
- <classname>Zend_Form_Element_Submit</classname> rend cette décisions simple,
- en ajoutant une méthode <methodname>isChecked()</methodname> method ; puisqu'un
- seul élément bouton sera soumis par le formulaire, après avoir rempli ou validé
- le formulaire, vous pourrez appeller cette méthode sur chacun des boutons submit
- afin de déterminer lequel a été utilisé.
- </para>
- <para>
- <classname>Zend_Form_Element_Submit</classname> utilise le label comme "value"
- du bouton submit, il sera traduit si un adapeur de traduction est présent.
- <methodname>isChecked()</methodname> vérifie la valeur soumises avec
- le label pour déterminer si le bouton a été utilisé.
- </para>
- <para>
- Les décorateurs <link
- linkend="zend.form.standardDecorators.viewHelper">ViewHelper</link>
- et <link
- linkend="zend.form.standardDecorators.dtDdWrapper">DtDdWrapper</link>
- sont utilisé pour rendre cet élément. Aucun décorateur de label n'est utilisé,
- puisque le label du bouton est utilisé lors du rendu de l'élément ; de plus,
- vous n'associerez aucune erreurs avec l'élément submit.
- </para>
- </sect2>
- <sect2 id="zend.form.standardElements.text">
- <title>Zend_Form_Element_Text</title>
- <para>
- De loin le type d'élément de formulaire le plus répandu est l'élément text,
- celui ci autorise des saisies de texte limité ; c'est un élément idéal pour
- la plupart des saisies de données. <classname>Zend_Form_Element_Text</classname>
- utilise simplement le helper de vue 'formText' pour afficher l'élément.
- </para>
- </sect2>
- <sect2 id="zend.form.standardElements.textarea">
- <title>Zend_Form_Element_Textarea</title>
- <para>
- Les Textareas sont utilisé lorsque de grandes quantités de texte sont
- attendues, et ne limite pas la quantité de texte soumise (si ce n'est la
- taille limite fixée par votre serveur ou <acronym>PHP</acronym>).
- <classname>Zend_Form_Element_Textarea</classname> utilise le helper de vue
- 'textArea' pour afficher ces éléments, et place la valeur comme contenu de
- l'élément.
- </para>
- </sect2>
- </sect1>
- <!--
- vim:se ts=4 sw=4 tw=80 et:
- -->
|