Zend_Validate-NotEmpty.xml 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 20043 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.validate.set.notempty">
  5. <title>NotEmpty</title>
  6. <para>
  7. Ce validateur permet de déterminer si une valeur est non vide. C'est utile lorsque vous travaillez
  8. avec des formulaires ou des entrées utilisateur, là où vous pouvez l'utiliser pour savoir si des
  9. éléments requis ont été saisis.
  10. </para>
  11. <sect3 id="zend.validate.set.notempty.default">
  12. <title>Comportement par défaut de Zend_Validate_NotEmpty</title>
  13. <para>
  14. Par défaut, ce validateur fonctionne différement de la fonction
  15. <acronym>PHP</acronym> <methodname>empty()</methodname>. En particulier, ce validateur va
  16. évaluer l'entier <emphasis>0</emphasis> et la chaine '<emphasis>0</emphasis>' comme vides.
  17. </para>
  18. <programlisting language="php"><![CDATA[
  19. $valid = new Zend_Validate_NotEmpty();
  20. $value = '';
  21. $result = $valid->isValid($value);
  22. // retourne false
  23. ]]></programlisting>
  24. <note>
  25. <title>Le comportement par défaut diffère de PHP</title>
  26. <para>
  27. Sans configuration ajoutée, <classname>Zend_Validate_NotEmpty</classname> diffère
  28. de <acronym>PHP</acronym>.
  29. </para>
  30. </note>
  31. </sect3>
  32. <sect3 id="zend.validate.set.notempty.types">
  33. <title>Changer le comportement de Zend_Validate_NotEmpty</title>
  34. <para>
  35. Certains projets ont des opinions différentes sur ce qui peut être considéré comme 'vide'.
  36. Une chaine seulement composée d'espaces blancs pourrait être considérée comme vide, ou
  37. <emphasis>0</emphasis> pourrait être considéré comme non-vide (surtout dans les séquences
  38. logiques booléennes). Pour correspondre aux différents besoins,
  39. <classname>Zend_Validate_NotEmpty</classname> vous permet de configurer les types que vous
  40. considérez comme vides.
  41. </para>
  42. <para>
  43. Les types suivants sont gérés:
  44. </para>
  45. <itemizedlist>
  46. <listitem>
  47. <para>
  48. <emphasis>booléen</emphasis>: Retourne <constant>FALSE</constant> lorsque
  49. la valeur booléenne est <constant>FALSE</constant>.
  50. </para>
  51. </listitem>
  52. <listitem>
  53. <para>
  54. <emphasis>entier</emphasis>: Retourne <constant>FALSE</constant> lorsque l'entier
  55. <emphasis>0</emphasis> est passé. Par défaut cette validation n'est pas activée et
  56. retourne <constant>TRUE</constant> pour toute valeur d'entier.
  57. </para>
  58. </listitem>
  59. <listitem>
  60. <para>
  61. <emphasis>flottant</emphasis>: Retourne <constant>FALSE</constant> lorsque le flottant
  62. <emphasis>0.0</emphasis> est passé. Par défaut cette validation n'est pas activée et
  63. retourne <constant>TRUE</constant> pour toute valeur de flottant.
  64. </para>
  65. </listitem>
  66. <listitem>
  67. <para>
  68. <emphasis>chaine</emphasis>: Retourne <constant>FALSE</constant> lorsque la chaine vide
  69. <emphasis>''</emphasis> est passée.
  70. </para>
  71. </listitem>
  72. <listitem>
  73. <para>
  74. <emphasis>zero</emphasis>: Retourne <constant>FALSE</constant> lorsque le seul caractère
  75. zéro (<emphasis>'0'</emphasis>) est passé.
  76. </para>
  77. </listitem>
  78. <listitem>
  79. <para>
  80. <emphasis>tableau_vide</emphasis>: Retourne <constant>FALSE</constant> lorsqu'un tableau vide
  81. <emphasis>array()</emphasis> est passé.
  82. </para>
  83. </listitem>
  84. <listitem>
  85. <para>
  86. <emphasis>null</emphasis>: Retourne <constant>FALSE</constant> lorsqu'une valeur
  87. <constant>NULL</constant> est passée.
  88. </para>
  89. </listitem>
  90. <listitem>
  91. <para>
  92. <emphasis>php</emphasis>: Retourne <constant>FALSE</constant> lorsque la fonction
  93. <acronym>PHP</acronym> <methodname>empty()</methodname> retournerait
  94. <constant>TRUE</constant>.
  95. </para>
  96. </listitem>
  97. <listitem>
  98. <para>
  99. <emphasis>espace</emphasis>: Retourne <constant>FALSE</constant> lorsqu'une chaine
  100. ne contenant que des caractères espace est passée.
  101. </para>
  102. </listitem>
  103. <listitem>
  104. <para>
  105. <emphasis>tout</emphasis>: Retourne <constant>FALSE</constant> pour tous les
  106. types gérés cités ci-dessus.
  107. </para>
  108. </listitem>
  109. </itemizedlist>
  110. <para>
  111. Toute autre valeur passée retourne <constant>TRUE</constant> par défaut.
  112. </para>
  113. <para>
  114. Il existe différentes manières de selectionner les types ci-dessus. Vous pouvez en spécifier
  115. un ou plusieurs, sous forme de tableau ou de constantes ou encore de chaines.
  116. Voyez les exemples ci-après:
  117. </para>
  118. <programlisting language="php"><![CDATA[
  119. // Retourne false pour 0
  120. $validator = new Zend_Validate_NotEmpty(Zend_Validate_NotEmpty::INTEGER);
  121. // Retourne false pour 0 ou '0'
  122. $validator = new Zend_Validate_NotEmpty(
  123. Zend_Validate_NotEmpty::INTEGER + Zend_NotEmpty::ZERO
  124. );
  125. // Retourne false pour 0 ou '0'
  126. $validator = new Zend_Validate_NotEmpty(array(
  127. Zend_Validate_NotEmpty::INTEGER,
  128. Zend_Validate_NotEmpty::ZERO
  129. ));
  130. // Retourne false pour 0 ou '0'
  131. $validator = new Zend_Validate_NotEmpty(array(
  132. 'integer',
  133. 'zero',
  134. ));
  135. ]]></programlisting>
  136. <para>
  137. Il est aussi possible de passer un objet <classname>Zend_Config</classname> afin de
  138. préciser les types à utiliser. Après instantiation, <methodname>setType()</methodname>
  139. peut être utilisée.
  140. </para>
  141. </sect3>
  142. </sect2>
  143. <!--
  144. vim:se ts=4 sw=4 et:
  145. -->