| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect2 id="zend.validate.set.notempty">
- <title>NotEmpty</title>
- <para>
- Ce validateur permet de déterminer si une valeur est non vide. C'est utile lorsque vous travaillez
- avec des formulaires ou des entrées utilisateur, là où vous pouvez l'utiliser pour savoir si des
- éléments requis ont été saisis.
- </para>
- <sect3 id="zend.validate.set.notempty.options">
- <title>Options supportées par Zend_Validate_NotEmpty</title>
- <para>
- Les options suivantes sont supportées par
- <classname>Zend_Validate_NotEmpty</classname> :
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis><property>type</property></emphasis> : paramètre le type de
- validation qui sera réalisée. Pour plus de détails, reportez vous à
- <link linkend="zend.validate.set.notempty.types">cette section</link>.
- </para>
- </listitem>
- </itemizedlist>
- </sect3>
- <sect3 id="zend.validate.set.notempty.default">
- <title>Comportement par défaut de Zend_Validate_NotEmpty</title>
- <para>
- Par défaut, ce validateur fonctionne différement de la fonction
- <acronym>PHP</acronym> <methodname>empty()</methodname>. En particulier, ce validateur va
- évaluer l'entier <emphasis>0</emphasis> et la chaine '<emphasis>0</emphasis>' comme vides.
- </para>
- <programlisting language="php"><![CDATA[
- $valid = new Zend_Validate_NotEmpty();
- $value = '';
- $result = $valid->isValid($value);
- // retourne false
- ]]></programlisting>
- <note>
- <title>Le comportement par défaut diffère de PHP</title>
- <para>
- Sans configuration ajoutée, <classname>Zend_Validate_NotEmpty</classname> diffère
- de <acronym>PHP</acronym>.
- </para>
- </note>
- </sect3>
- <sect3 id="zend.validate.set.notempty.types">
- <title>Changer le comportement de Zend_Validate_NotEmpty</title>
- <para>
- Certains projets ont des opinions différentes sur ce qui peut être considéré comme 'vide'.
- Une chaine seulement composée d'espaces blancs pourrait être considérée comme vide, ou
- <emphasis>0</emphasis> pourrait être considéré comme non-vide (surtout dans les séquences
- logiques booléennes). Pour correspondre aux différents besoins,
- <classname>Zend_Validate_NotEmpty</classname> vous permet de configurer les types que vous
- considérez comme vides.
- </para>
- <para>
- Les types suivants sont gérés :
- </para>
- <itemizedlist>
- <listitem>
- <para>
- <emphasis>boolean</emphasis> : retourne <constant>FALSE</constant> lorsque
- la valeur booléenne est <constant>FALSE</constant>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>integer</emphasis> : retourne <constant>FALSE</constant> lorsque l'entier
- <emphasis>0</emphasis> est passé. Par défaut cette validation n'est pas activée et
- retourne <constant>TRUE</constant> pour toute valeur d'entier.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>float</emphasis> : retourne <constant>FALSE</constant> lorsque le flottant
- <emphasis>0.0</emphasis> est passé. Par défaut cette validation n'est pas activée et
- retourne <constant>TRUE</constant> pour toute valeur de flottant.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>string</emphasis> : retourne <constant>FALSE</constant> lorsque la chaine vide
- <emphasis>''</emphasis> est passée.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>zero</emphasis> : retourne <constant>FALSE</constant> lorsque le seul caractère
- zéro (<emphasis>'0'</emphasis>) est passé.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>empty_array</emphasis> : retourne <constant>FALSE</constant> lorsqu'un tableau vide
- <emphasis>array()</emphasis> est passé.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>null</emphasis> : retourne <constant>FALSE</constant> lorsqu'une valeur
- <constant>NULL</constant> est passée.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>php</emphasis> : retourne <constant>FALSE</constant> lorsque la fonction
- <acronym>PHP</acronym> <methodname>empty()</methodname> retournerait
- <constant>TRUE</constant>.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>space</emphasis> : retourne <constant>FALSE</constant> lorsqu'une chaine
- ne contenant que des caractères espace est passée.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>object</emphasis> : retourne <constant>TRUE</constant>.
- <constant>FALSE</constant> sera retournée quand <property>object</property>
- n'est pas autorisé mais qu'ue objet est fourni.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>object_string</emphasis> : retourne <constant>FALSE</constant>
- quand un objet est fourni et que sa méthode
- <methodname>__toString()</methodname> retourne une chaîne vide.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>object_count</emphasis> : retourne <constant>FALSE</constant>
- quand un objet est fourni, qu'il implémente <classname>Countable</classname>
- et que son compte vaut 0.
- </para>
- </listitem>
- <listitem>
- <para>
- <emphasis>all</emphasis> : retourne <constant>FALSE</constant> pour tous les
- types gérés cités ci-dessus.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Toute autre valeur passée retourne <constant>TRUE</constant> par défaut.
- </para>
- <para>
- Il existe différentes manières de selectionner les types ci-dessus. Vous pouvez en spécifier
- un ou plusieurs, sous forme de tableau ou de constantes ou encore de chaines.
- Voyez les exemples ci-après :
- </para>
- <programlisting language="php"><![CDATA[
- // Retourne false pour 0
- $validator = new Zend_Validate_NotEmpty(Zend_Validate_NotEmpty::INTEGER);
- // Retourne false pour 0 ou '0'
- $validator = new Zend_Validate_NotEmpty(
- Zend_Validate_NotEmpty::INTEGER + Zend_NotEmpty::ZERO
- );
- // Retourne false pour 0 ou '0'
- $validator = new Zend_Validate_NotEmpty(array(
- Zend_Validate_NotEmpty::INTEGER,
- Zend_Validate_NotEmpty::ZERO
- ));
- // Retourne false pour 0 ou '0'
- $validator = new Zend_Validate_NotEmpty(array(
- 'integer',
- 'zero',
- ));
- ]]></programlisting>
- <para>
- Il est aussi possible de passer un objet <classname>Zend_Config</classname> afin de
- préciser les types à utiliser. Après instantiation, <methodname>setType()</methodname>
- peut être utilisée.
- </para>
- </sect3>
- </sect2>
|