Zend_Validate-Set.xml 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- EN-Revision: 14766 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.validate.set" xmlns:xi="http://www.w3.org/2001/XInclude">
  5. <title>Classes de validation standard</title>
  6. <para>Zend Framework est fourni avec un jeu de classes de validation standard, qui sont directement utilisables par
  7. votre application.</para>
  8. <sect2 id="zend.validate.set.alnum">
  9. <title>Alnum</title>
  10. <para>Retourne <code>true</code> si et seulement si <code>$value</code> contient seulement des caractères
  11. alphabétiques et numériques. Ce validateur inclue une option permettant la validation possible des caractères
  12. espace.</para>
  13. </sect2>
  14. <sect2 id="zend.validate.set.alpha">
  15. <title>Alpha</title>
  16. <para>Retourne <code>true</code> si et seulement si <code>$value</code> contient seulement des caractères
  17. alphabétiques. Ce validateur inclue une option permettant la validation possible des caractères espace.</para>
  18. <note>
  19. <para>Les caractères alphabétiques comprennent les caractères destinés à constituer des mots dans chaque
  20. langue. Cependant l'alphabet anglais est aussi utilisé pour les langues suivantes : chinois, japonais et
  21. coréen. La langue est spécifiée par <classname>Zend_Locale</classname>.</para>
  22. </note>
  23. </sect2>
  24. <sect2 id="zend.validate.set.barcode">
  25. <title>Barcode</title>
  26. <para>Ce validateur est instancié avec le type de code-barres suivant lequel vous souhaitez valider une valeur.
  27. Il supporte actuellement les types de code-barres "<code>UPC-A</code>" (Universal Product Code) et
  28. "<code>EAN-13</code>" (European Article Number), et la méthode <code>isValid()</code> retourne <code>true</code>
  29. si et seulement si la valeur fournie est validée par l'algorithme de validation du code-barres. Vous devez
  30. retirer tous les caractères exceptés les nombres compris entre zéro et neuf (0-9) de la valeur à tester avant de
  31. la fournir au validateur.</para>
  32. </sect2>
  33. <sect2 id="zend.validate.set.between">
  34. <title>Between</title>
  35. <para>Retourne <code>true</code> si et seulement si <code>$value</code> est compris entre les valeurs minimum et
  36. maximum définies. La comparaison inclue par défaut les bornes (<code>$value</code> peut égaler le minimum ou le
  37. maximum), bien que ceci puisse être surchargé pour avoir une comparaison stricte, où <code>$value</code> doit
  38. être strictement supérieur au minimum et strictement inférieur au maximum.</para>
  39. </sect2>
  40. <sect2 id="zend.validate.set.ccnum">
  41. <title>Ccnum</title>
  42. <para>Retourne <code>true</code> si et seulement si <code>$value</code> respecte <ulink
  43. url="http://fr.wikipedia.org/wiki/Luhn">l'algorithme de Luhn ("module 10")</ulink> pour les numéros de cartes de
  44. crédits.</para>
  45. </sect2>
  46. <sect2 id="zend.validate.set.date">
  47. <title>Date</title>
  48. <para>Retourne <code>true</code> si <code>$value</code> est une date valide au format <code>YYYY-MM-DD</code>.
  49. Si l'option <code>locale</code> est fournie alors la date sera validé suivant le paramètre local. Enfin si
  50. l'option <code>format</code> est fournie ce format est utilisé pour la validation. Pour plus de détails
  51. concernant les paramètres optionnel, referez vous à <link
  52. linkend="zend.date.others.comparison.table">Zend_Date::isDate()</link>.</para>
  53. </sect2>
  54. <sect2 id="zend.validate.set.digits">
  55. <title>Digits</title>
  56. <para>Retourne <code>true</code> si et seulement si <code>$value</code> contient seulement des caractères
  57. numériques.</para>
  58. </sect2>
  59. <!--xi:include href="Zend_Validate-EmailAddress.xml" /-->
  60. <sect2 id="zend.validate.set.float">
  61. <title>Float</title>
  62. <para>Retourne <code>true</code> si et seulement si <code>$value</code> est une valeur en virgule flottante. A
  63. partir de Zend Framework 1.8 ce validateur prend en considération la locale courante issue du navigateur, de
  64. l'environnement ou de l'application. Vous pouvez bien sûr utiliser les accesseurs <code>get/setLocale</code>
  65. pour changer ou la fournir au moment de la création de l'instance de ce validateur.</para>
  66. </sect2>
  67. <sect2 id="zend.validate.set.greater_than">
  68. <title>GreaterThan</title>
  69. <para>Retourne <code>true</code> si et seulement si <code>$value</code> est supérieure à une valeur minimum
  70. fournie.</para>
  71. </sect2>
  72. <sect2 id="zend.validate.set.hex">
  73. <title>Hex</title>
  74. <para>Retourne <code>true</code> si et seulement si <code>$value</code> contient seulement des caractères
  75. numériques hexadécimaux.</para>
  76. </sect2>
  77. <!--xi:include href="Zend_Validate-Hostname.xml" /-->
  78. <sect2 id="zend.validate.set.iban">
  79. <title>Iban</title>
  80. <para>Retourne <code>true</code> si et seulement si <code>$value</code> contient un IBAN valide (International
  81. Bank Account Number = Numéro de compte bancaire international). Les numéros IBAN sont validés suivant le pays
  82. dans lequel ils sont utilisés et par un somme de contrôle.</para>
  83. <para>Il existe deux manières de valider les numéros IBAN. En premier lieu, vous pouvez fournir une locale qui
  84. représente un pays. Tout numéro IBAN fourni sera donc validé suivant ce pays.</para>
  85. <programlisting role="php"><![CDATA[
  86. $validator = new Zend_Validate_Iban('de_AT');
  87. $iban = 'AT611904300234573201';
  88. if ($validator->isValid($iban)) {
  89. // IBAN paraît être valide
  90. } else {
  91. // IBAN est invalide
  92. foreach ($validator->getMessages() as $message) {
  93. echo "$message\n";
  94. }
  95. }
  96. ]]></programlisting>
  97. <para>Vous pouvez aussi vouloir valider les numéros IBAN pour des pays uniques. La manière la plus simple est
  98. donc de ne pas fournir de locale comme dans l'exemple suivant.</para>
  99. <programlisting role="php"><![CDATA[
  100. $validator = new Zend_Validate_Iban();
  101. $iban = 'AT611904300234573201';
  102. if ($validator->isValid($iban)) {
  103. // IBAN paraît être valide
  104. } else {
  105. // IBAN est invalide
  106. }
  107. ]]></programlisting>
  108. <para>Mais ceci montre un gros problème : si vous ne devez accepter que les numéros IBAN que pour un pays en
  109. particulier, par exemple l'Allemagne, alors les numéros IBAN des autres pays seront aussi valides. Dans ce cas,
  110. souvenez vous d'une chose : quand vous devez valider un numéro IBAN pour un pays donné, vous avez juste à
  111. fournir la locale correspondante. Et quand vous acceptez tous les numéros IBAN sans restriction de pays, enlevez
  112. simplement cette locale.</para>
  113. </sect2>
  114. <sect2 id="zend.validate.set.in_array">
  115. <title>InArray</title>
  116. <para>Retourne <code>true</code> si et seulement si <code>$value</code> est contenue dans un tableau. Si
  117. l'option stricte est à <code>true</code>, alors le type de <code>$value</code> est aussi vérifié.</para>
  118. </sect2>
  119. <sect2 id="zend.validate.set.int">
  120. <title>Int</title>
  121. <para>Retourne <code>true</code> si et seulement si <code>$value</code> est une valeur entière. A partir de Zend
  122. Framework 1.8 ce validateur prend en considération la locale courante issue du navigateur, de l'environnement ou
  123. de l'application. Vous pouvez bien sûr utiliser les accesseurs <code>get/setLocale</code> pour changer ou la
  124. fournir au moment de la création de l'instance de ce validateur.</para>
  125. </sect2>
  126. <sect2 id="zend.validate.set.ip">
  127. <title>Ip</title>
  128. <para>Retourne <code>true</code> si et seulement si <code>$value</code> est une adresse IP valide.</para>
  129. </sect2>
  130. <sect2 id="zend.validate.set.less_than">
  131. <title>LessThan</title>
  132. <para>Retourne <code>true</code> si et seulement si <code>$value</code> est inférieure à une valeur maximum
  133. fournie.</para>
  134. </sect2>
  135. <sect2 id="zend.validate.set.not_empty">
  136. <title>NotEmpty</title>
  137. <para>Retourne <code>true</code> si et seulement si <code>$value</code> est une valeur non vide.</para>
  138. </sect2>
  139. <sect2 id="zend.validate.set.regex">
  140. <title>Regex</title>
  141. <para>Retourne <code>true</code> si et seulement si <code>$value</code> respecte une expression régulière
  142. fournie.</para>
  143. </sect2>
  144. <xi:include href="Zend_Validate-Sitemap.xml">
  145. <xi:fallback><xi:include href="../../en/module_specs/Zend_Validate-Sitemap.xml" /></xi:fallback>
  146. </xi:include>
  147. <sect2 id="zend.validate.set.string_length">
  148. <title>StringLength</title>
  149. <para>Retourne <code>true</code> si et seulement si la longueur de la chaîne <code>$value</code> est supérieure
  150. à une valeur minimum et inférieure à une valeur maximum (quand l'option max n'est pas à <code>null</code>). La
  151. méthode <code>setMin()</code> lève une exception si la valeur fournie pour la longueur minimum est supérieure à
  152. celle fournie pour la longueur maximum, et la méthode <code>setMax()</code> lève une exception si la valeur
  153. fournie pour la longueur maximum est supérieure à celle fournie pour la longueur minimum. Cette classe supporte
  154. l'UTF-8 et les autres encodages, en se basant sur la valeur courante de <ulink
  155. url="http://www.php.net/manual/fr/ref.iconv.php#iconv.configuration">
  156. <code>iconv.internal_encoding</code>
  157. </ulink>. Si vous avez besoin de régler un autre encodage, vous pouvez le faire avec les accesseurs
  158. <code>getEncoding()</code> et <code>setEncoding()</code>.</para>
  159. </sect2>
  160. </sect1>