Zend_Validate-Isbn.xml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <sect2 id="zend.validate.set.isbn">
  4. <title>Isbn</title>
  5. <para>
  6. <classname>Zend_Validate_Isbn</classname> allows you to validate an
  7. <acronym>ISBN-10</acronym> or <acronym>ISBN-13</acronym> value.
  8. </para>
  9. <sect3 id="zend.validate.set.isbn.options">
  10. <title>Supported options for Zend_Validate_Isbn</title>
  11. <para>
  12. The following options are supported for <classname>Zend_Validate_Isbn</classname>:
  13. </para>
  14. <itemizedlist>
  15. <listitem>
  16. <para>
  17. <emphasis><property>separator</property></emphasis>: Defines the allowed
  18. separator for the <acronym>ISBN</acronym> number. It defaults to an empty
  19. string.
  20. </para>
  21. </listitem>
  22. <listitem>
  23. <para>
  24. <emphasis><property>type</property></emphasis>: Defines the allowed type of
  25. <acronym>ISBN</acronym> numbers. It defaults to
  26. <constant>Zend_Validate_Isbn::AUTO</constant>. For details take a look at
  27. <link linkend="zend.validate.set.isbn.type-explicit">this section</link>.
  28. </para>
  29. </listitem>
  30. </itemizedlist>
  31. </sect3>
  32. <sect3 id="zend.validate.set.isbn.basic">
  33. <title>Basic usage</title>
  34. <para>
  35. A basic example of usage is below:
  36. </para>
  37. <programlisting language="php"><![CDATA[
  38. $validator = new Zend_Validate_Isbn();
  39. if ($validator->isValid($isbn)) {
  40. // isbn is valid
  41. } else {
  42. // isbn is not valid
  43. }
  44. ]]></programlisting>
  45. <para>
  46. This will validate any <acronym>ISBN-10</acronym> and <acronym>ISBN-13</acronym> without
  47. separator.
  48. </para>
  49. </sect3>
  50. <sect3 id="zend.validate.set.isbn.type-explicit">
  51. <title>Setting an explicit ISBN validation type</title>
  52. <para>
  53. An example of an <acronym>ISBN</acronym> type restriction is below:
  54. </para>
  55. <programlisting language="php"><![CDATA[
  56. $validator = new Zend_Validate_Isbn();
  57. $validator->setType(Zend_Validate_Isbn::ISBN13);
  58. // OR
  59. $validator = new Zend_Validate_Isbn(array(
  60. 'type' => Zend_Validate_Isbn::ISBN13,
  61. ));
  62. if ($validator->isValid($isbn)) {
  63. // this is a valid ISBN-13 value
  64. } else {
  65. // this is an invalid ISBN-13 value
  66. }
  67. ]]></programlisting>
  68. <para>
  69. The above will validate only <acronym>ISBN-13</acronym> values.
  70. </para>
  71. <para>
  72. Valid types include:
  73. </para>
  74. <itemizedlist>
  75. <listitem>
  76. <para><constant>Zend_Validate_Isbn::AUTO</constant> (default)</para>
  77. </listitem>
  78. <listitem>
  79. <para><constant>Zend_Validate_Isbn::ISBN10</constant></para>
  80. </listitem>
  81. <listitem>
  82. <para><constant>Zend_Validate_Isbn::ISBN13</constant></para>
  83. </listitem>
  84. </itemizedlist>
  85. </sect3>
  86. <sect3 id="zend.validate.set.isbn.separator">
  87. <title>Specifying a separator restriction</title>
  88. <para>
  89. An example of separator restriction is below:
  90. </para>
  91. <programlisting language="php"><![CDATA[
  92. $validator = new Zend_Validate_Isbn();
  93. $validator->setSeparator('-');
  94. // OR
  95. $validator = new Zend_Validate_Isbn(array(
  96. 'separator' => '-',
  97. ));
  98. if ($validator->isValid($isbn)) {
  99. // this is a valid ISBN with separator
  100. } else {
  101. // this is an invalid ISBN with separator
  102. }
  103. ]]></programlisting>
  104. <note>
  105. <title>Values without separator</title>
  106. <para>
  107. This will return <constant>FALSE</constant> if <varname>$isbn</varname> doesn't
  108. contain a separator <emphasis>or</emphasis> if it's an invalid
  109. <acronym>ISBN</acronym> value.
  110. </para>
  111. </note>
  112. <para>
  113. Valid separators include:
  114. </para>
  115. <itemizedlist>
  116. <listitem><para>"" (empty) (default)</para></listitem>
  117. <listitem><para>"-" (hyphen)</para></listitem>
  118. <listitem><para>" " (space)</para></listitem>
  119. </itemizedlist>
  120. </sect3>
  121. </sect2>
  122. <!--
  123. vim:se ts=4 sw=4 et:
  124. -->