Zend_Validate-Migration.xml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 17908 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.validate.migration">
  5. <title>Migration depuis les versions précédentes</title>
  6. <para>
  7. L'<acronym>API</acronym> de <classname>Zend_Validate</classname> a changé quelques fois.
  8. Ce guide va vous permettre de noter les différences entre les versions.
  9. </para>
  10. <sect2 id="zend.validate.migration.fromoneninetooneten">
  11. <title>Migrer de 1.9 à 1.10</title>
  12. <sect3 id="zend.validate.migration.fromoneninetooneten.selfwritten">
  13. <title>Adaptateurs personnels</title>
  14. <para>
  15. Lorsqu'une erreur apparait dans un adaptateur crée de toute pièce,
  16. <methodname>_error()</methodname> doit être appelée. Avant Zend Framework 1.10, il était
  17. possible d'appeler cette méthode sans aucun paramètre. Le premier template de message d'erreur
  18. était alors utilisé.
  19. </para>
  20. <para>
  21. Ce comportement est problématique lorsque vous avez des validateurs retournant plusieurs messages.
  22. Aussi, étendre un validateur peut mener à des comportements inattendus dans une telle situation,
  23. comme par exemple l'apparition du mauvais message d'erreur.
  24. </para>
  25. <programlisting language="php"><![CDATA[
  26. My_Validator extends Zend_Validate_Abstract
  27. {
  28. public isValid($value)
  29. {
  30. ...
  31. $this->_error(); // Résultat inattendu
  32. ...
  33. }
  34. }
  35. ]]></programlisting>
  36. <para>
  37. Pour éviter ces problèmes <methodname>_error()</methodname> doit desormais
  38. prendre obligatoirement un paramètre.
  39. </para>
  40. <programlisting language="php"><![CDATA[
  41. My_Validator extends Zend_Validate_Abstract
  42. {
  43. public isValid($value)
  44. {
  45. ...
  46. $this->_error(self::MY_ERROR); // Ok, erreur définie
  47. ...
  48. }
  49. }
  50. ]]></programlisting>
  51. </sect3>
  52. <sect3 id="zend.validate.migration.fromoneninetooneten.datevalidator">
  53. <title>Simplification dans le validateur des dates</title>
  54. <para>
  55. Avant Zend Framework 1.10, 2 messages identiques étaient envoyés dans le validateur
  56. des dates. <constant>NOT_YYYY_MM_DD</constant> et
  57. <constant>FALSEFORMAT</constant>. Depuis Zend Framework 1.10, seul
  58. <constant>FALSEFORMAT</constant> sera retourné lorsque la date passée ne correspond pas
  59. au format demandé.
  60. </para>
  61. </sect3>
  62. <sect3 id="zend.validate.migration.fromoneninetooneten.barcodevalidator">
  63. <title>Corrections dans Alpha, Alnum et Barcode</title>
  64. <para>
  65. Avant Zend Framework 1.10, les messages dans les 2 validateurs barcode, le Alpha
  66. et le Alnum étaient identiques. Des problèmes pouvaient alors faire surface avec des
  67. messages personnalisés, des traducteurs ou des instances multiples des validateurs.
  68. </para>
  69. <para>
  70. Depuis Zend Framework 1.10, les valeurs des constantes ont changé pour être uniques.
  71. Si vous utilisiez les constantes comme le manuel le recommande, aucun changement n'est nécessaire.
  72. Mais si vous utilisiez les messages d'erreurs, alors il faudra les changer. Voici les changements
  73. opérés:
  74. </para>
  75. <table id="zend.validate.migration.fromoneninetooneten.barcodevalidator.table">
  76. <title>Messages de validation disponibles</title>
  77. <tgroup cols="3">
  78. <thead>
  79. <row>
  80. <entry>Validateur</entry>
  81. <entry>Constante</entry>
  82. <entry>Valeur</entry>
  83. </row>
  84. </thead>
  85. <tbody>
  86. <row>
  87. <entry>Alnum</entry>
  88. <entry><constant>STRING_EMPTY</constant></entry>
  89. <entry>alnumStringEmpty</entry>
  90. </row>
  91. <row>
  92. <entry>Alpha</entry>
  93. <entry><constant>STRING_EMPTY</constant></entry>
  94. <entry>alphaStringEmpty</entry>
  95. </row>
  96. <row>
  97. <entry>Barcode_Ean13</entry>
  98. <entry><constant>INVALID</constant></entry>
  99. <entry>ean13Invalid</entry>
  100. </row>
  101. <row>
  102. <entry>Barcode_Ean13</entry>
  103. <entry><constant>INVALID_LENGTH</constant></entry>
  104. <entry>ean13InvalidLength</entry>
  105. </row>
  106. <row>
  107. <entry>Barcode_UpcA</entry>
  108. <entry><constant>INVALID</constant></entry>
  109. <entry>upcaInvalid</entry>
  110. </row>
  111. <row>
  112. <entry>Barcode_UpcA</entry>
  113. <entry><constant>INVALID_LENGTH</constant></entry>
  114. <entry>upcaInvalidLength</entry>
  115. </row>
  116. <row>
  117. <entry>Digits</entry>
  118. <entry><constant>STRING_EMPTY</constant></entry>
  119. <entry>digitsStringEmpty</entry>
  120. </row>
  121. </tbody>
  122. </tgroup>
  123. </table>
  124. </sect3>
  125. </sect2>
  126. </sect1>