Zend_Validate-Isbn.xml 4.2 KB

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