Zend_Validate-Identical.xml 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- EN-Revision: 18791 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.validate.set.identical">
  5. <title>Identical</title>
  6. <para>
  7. <classname>Zend_Validate_Identical</classname> vous permet de valider si une valeur donnée
  8. est identique à une valeur préalablement fournie.
  9. </para>
  10. <sect3 id="zend.validate.set.identical.basic">
  11. <title>Utilisation de base</title>
  12. <para>
  13. Pour valider si deux valeurs sont identiques, vous devez d'abord fournir la valeur
  14. d'origine. L'exemple montre la validation de deux chaînes&#160;:
  15. </para>
  16. <programlisting language="php"><![CDATA[
  17. $valid = new Zend_Validate_Identical('origin');
  18. if ($valid->isValid($value) {
  19. return true;
  20. }
  21. ]]></programlisting>
  22. <para>
  23. La validation retournera <constant>TRUE</constant> seulement si les deux valeurs
  24. sont rigoureusement identiques. Dans notre exemple, quand <varname>$value</varname>
  25. vaudra "origin".
  26. </para>
  27. <para>
  28. Vous pouvez aussi fournir la valeur souhaitée plus tard en utilisant la méthode
  29. <methodname>setToken()</methodname> et <methodname>getToken()</methodname> pour
  30. récupérer la valeur actuellement paramétrée.
  31. </para>
  32. </sect3>
  33. <sect3 id="zend.validate.set.identical.types">
  34. <title>Objets identiques</title>
  35. <para>
  36. Bien sûr <classname>Zend_Validate_Identical</classname> ne se limite pas à la
  37. validation de chaînes, mais aussi tout type de variable comme un booléen, un
  38. entier, un flottant, un tableau et même les objets. Comme énoncé ci-dessus, les
  39. valeurs fournies et à valider doivent être identiques.
  40. </para>
  41. <programlisting language="php"><![CDATA[
  42. $valid = new Zend_Validate_Identical(123);
  43. if ($valid->isValid($input)) {
  44. // l'entrée est valide
  45. } else {
  46. // l'entrée est incorrecte
  47. }
  48. ]]></programlisting>
  49. <note>
  50. <title>Comparaison de type</title>
  51. <para>
  52. Il est important de noter que le type de la variable sert aussi lors de la
  53. validation. Ceci veut dire que la chaîne <emphasis>"3"</emphasis> n'est pas
  54. identique à l'entier <emphasis>3</emphasis>.
  55. </para>
  56. <para>
  57. Ceci est aussi valable pour les éléments de formulaires. Ce sont des objets ou
  58. des tableaux. Donc vous ne pouvez pas simplement comparer un champs texte qui
  59. contient un mot de passe avec une valeur textuelle provenant d'une autre source.
  60. L'élément de formualire lui-même est fourni en tant que tableau qui peut aussi
  61. contenir des informations additionnelles.
  62. </para>
  63. </note>
  64. </sect3>
  65. <sect3 id="zend.validate.set.identical.configuration">
  66. <title>Configuration</title>
  67. <para>
  68. omme tous les autres validateurs <classname>Zend_Validate_Identical</classname>
  69. supporte aussi des paramètres de configuration en tant que paramètre d'entrée.
  70. Ceci veut dire que vous pouvez configurer ce validateur avec une objet
  71. <classname>Zend_Config</classname>.
  72. </para>
  73. <para>
  74. Mais ceci entraîne un changement dont vous devez tenir compte. Quand vous utilisez
  75. un tableau en tant qu'entrée du constructeur, vous devez envelopper la valeur
  76. d'origine avec la clé <property>token</property>, dans ce cas elle contiendra une
  77. valeur unique.
  78. </para>
  79. <programlisting language="php"><![CDATA[
  80. $valid = new Zend_Validate_Identical(array('token' => 123));
  81. if ($valid->isValid($input)) {
  82. // l'entrée est valide
  83. } else {
  84. // l'entrée est incorrecte
  85. }
  86. ]]></programlisting>
  87. <para>
  88. L'exemple ci-dessus valide l'entier 123 car vous avez fourni la valeur en l'associant
  89. à la clé <property>token</property>.
  90. </para>
  91. <para>
  92. Mais, si vous devez valider un tableau qui contient un seul élément et que cet élément
  93. est nommé <property>token</property> alors vous devez l'envelopper comme dans l'example
  94. ci-dessous&#160;:
  95. </para>
  96. <programlisting language="php"><![CDATA[
  97. $valid = new Zend_Validate_Identical(array('token' => array('token' => 123)));
  98. if ($valid->isValid($input)) {
  99. // l'entrée est valide
  100. } else {
  101. // l'entrée est incorrecte
  102. }
  103. ]]></programlisting>
  104. </sect3>
  105. </sect2>