Zend_Validate-Set.xml 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- Reviewed: no -->
  3. <!-- EN-Revision: 21259 -->
  4. <sect1 id="zend.validate.set" xmlns:xi="http://www.w3.org/2001/XInclude">
  5. <title>標準のバリデーションクラス群</title>
  6. <para>
  7. Zend Framework には、すぐに使える標準のバリデーションクラス群が同梱されています。
  8. </para>
  9. <sect2 id="zend.validate.set.alnum">
  10. <title>Alnum</title>
  11. <para>
  12. <code>$value</code> がアルファベットおよび数字のみで構成されているときにのみ <constant>TRUE</constant> を返します。
  13. このバリデータでは、オプションとして空白文字を認めることもできます。
  14. </para>
  15. <note>
  16. <para>
  17. アルファベットとは各言語で単語を構成する文字を意味します。
  18. ただし、以下の言語では英語のアルファベットをアルファベットとして扱います:中国語、日本語、韓国語。
  19. 言語は<classname>Zend_Locale</classname>で指定されます。
  20. </para>
  21. </note>
  22. </sect2>
  23. <sect2 id="zend.validate.set.alpha">
  24. <title>Alpha</title>
  25. <para>
  26. <code>$value</code> がアルファベットのみで構成されているときにのみ <constant>TRUE</constant> を返します。
  27. このバリデータでは、オプションとして空白文字を認めることもできます。
  28. </para>
  29. </sect2>
  30. <xi:include href="Zend_Validate-Barcode.xml">
  31. <xi:fallback><xi:include href="../../en/module_specs/Zend_Validate-Barcode.xml" /></xi:fallback>
  32. </xi:include>
  33. <xi:include href="Zend_Validate-Between.xml">
  34. <xi:fallback><xi:include href="../../en/module_specs/Zend_Validate-Between.xml" /></xi:fallback>
  35. </xi:include>
  36. <xi:include href="Zend_Validate-Callback.xml">
  37. <xi:fallback><xi:include href="../../en/module_specs/Zend_Validate-Callback.xml" /></xi:fallback>
  38. </xi:include>
  39. <xi:include href="Zend_Validate-CreditCard.xml">
  40. <xi:fallback><xi:include href="../../en/module_specs/Zend_Validate-CreditCard.xml" /></xi:fallback>
  41. </xi:include>
  42. <sect2 id="zend.validate.set.ccnum">
  43. <title>Ccnum</title>
  44. <note>
  45. <para>
  46. <classname>Ccnum</classname> バリデータは、
  47. <classname>CreditCard</classname> バリデータのほうを選んで非推奨になりました。
  48. セキュリティ上の理由で、
  49. Ccnum の代わりに CreditCard を使わなければなりません。
  50. </para>
  51. </note>
  52. </sect2>
  53. <sect2 id="zend.validate.set.date">
  54. <title>Date</title>
  55. <para>
  56. <code>$value</code> が 'YYYY-MM-DD' 形式の日付である場合にのみ
  57. <constant>TRUE</constant> を返します。オプションの <property>locale</property>
  58. を設定すると、そのロケールに応じた検証を行います。
  59. オプションの <property>format</property> を設定すると、
  60. そのフォーマットを使用して検証を行います。オプションパラメータの詳細は
  61. <link linkend="zend.date.others.comparison.table">Zend_Date::isDate()</link>
  62. を参照ください。
  63. </para>
  64. </sect2>
  65. <xi:include href="Zend_Validate-Db.xml" />
  66. <sect2 id="zend.validate.set.digits">
  67. <title>Digits</title>
  68. <para>
  69. <code>$value</code> が数字のみで構成されている場合にのみ <constant>TRUE</constant> を返します。
  70. </para>
  71. </sect2>
  72. <xi:include href="Zend_Validate-EmailAddress.xml" />
  73. <sect2 id="zend.validate.set.float">
  74. <title>Float</title>
  75. <para>
  76. <code>$value</code> が浮動小数点値である場合にのみ <constant>TRUE</constant> を返します。
  77. Zend Framework 1.8 以降では、このバリデータは
  78. ブラウザや環境変数あるいはアプリケーションで設定されたロケールを考慮するようになります。
  79. もちろん、アクセサ get/setLocale を使用して、
  80. バリデータのインスタンスを作成する際に使用するロケールを変更することもできます。
  81. </para>
  82. </sect2>
  83. <xi:include href="Zend_Validate-GreaterThan.xml">
  84. <xi:fallback><xi:include href="../../en/module_specs/Zend_Validate-GreaterThan.xml" /></xi:fallback>
  85. </xi:include>
  86. <xi:include href="Zend_Validate-Hex.xml">
  87. <xi:fallback><xi:include href="../../en/module_specs/Zend_Validate-Hex.xml" /></xi:fallback>
  88. </xi:include>
  89. <xi:include href="Zend_Validate-Hostname.xml" />
  90. <sect2 id="zend.validate.set.iban">
  91. <title>Iban</title>
  92. <para>
  93. <code>$value</code> が正しい IBAN
  94. (International Bank Account Number) を含む場合にのみ <constant>TRUE</constant> を返します。
  95. IBAN 番号の検証は、使用している国に対して行い、チェックサムを使用します。
  96. </para>
  97. <para>
  98. IBAN 番号の検証方法は 2 通りあります。最初の方法では、国を表すロケールを指定します。
  99. その国に対して、指定した IBAN 番号の検証を行います。
  100. </para>
  101. <programlisting language="php"><![CDATA[
  102. $validator = new Zend_Validate_Iban('de_AT');
  103. $iban = 'AT611904300234573201';
  104. if ($validator->isValid($iban)) {
  105. // IBAN は有効なようです
  106. } else {
  107. // IBAN は無効です
  108. foreach ($validator->getMessages() as $message) {
  109. echo "$message\n";
  110. }
  111. }
  112. ]]></programlisting>
  113. <para>
  114. これは、IBAN 番号をひとつの国に対して検証したい場合に使用します。
  115. もっとシンプルな方法としては、この例のようにロケールを指定しないものもあります。
  116. </para>
  117. <programlisting language="php"><![CDATA[
  118. $validator = new Zend_Validate_Iban();
  119. $iban = 'AT611904300234573201';
  120. if ($validator->isValid($iban)) {
  121. // IBAN は有効なようです
  122. } else {
  123. // IBAN は無効です
  124. }
  125. ]]></programlisting>
  126. <para>
  127. しかしこれには大きな問題がひとつあります。
  128. たとえばフランスならフランスなど 1 か国だけの IBAN 番号を許可したいときに、
  129. 他の国の IBAN 番号も有効となってしまいます。
  130. したがって、特定の国の IBAN 番号を検証したい場合はロケールを指定しなければなりません。
  131. 国にこだわらずすべての IBAN 番号を許可したい場合は、
  132. ロケールを省略してシンプルに書くことができます。
  133. </para>
  134. </sect2>
  135. <xi:include href="Zend_Validate-Identical.xml">
  136. <xi:fallback><xi:include href="../../en/module_specs/Zend_Validate-Identical.xml" /></xi:fallback>
  137. </xi:include>
  138. <xi:include href="Zend_Validate-InArray.xml" />
  139. <sect2 id="zend.validate.set.int">
  140. <title>Int</title>
  141. <para>
  142. <code>$value</code> が整数値である場合にのみ <constant>TRUE</constant> を返します。
  143. Zend Framework 1.8 以降では、このバリデータは
  144. ブラウザや環境変数あるいはアプリケーションで設定されたロケールを考慮するようになります。
  145. もちろん、アクセサ get/setLocale を使用して、
  146. バリデータのインスタンスを作成する際に使用するロケールを変更することもできます。
  147. </para>
  148. </sect2>
  149. <xi:include href="Zend_Validate-Ip.xml">
  150. <xi:fallback><xi:include href="../../en/module_specs/Zend_Validate-Ip.xml" /></xi:fallback>
  151. </xi:include>
  152. <xi:include href="Zend_Validate-Isbn.xml">
  153. <xi:fallback><xi:include href="../../en/module_specs/Zend_Validate-Isbn.xml" /></xi:fallback>
  154. </xi:include>
  155. <xi:include href="Zend_Validate-LessThan.xml">
  156. <xi:fallback><xi:include href="../../en/module_specs/Zend_Validate-LessThan.xml" /></xi:fallback>
  157. </xi:include>
  158. <xi:include href="Zend_Validate-NotEmpty.xml">
  159. <xi:fallback><xi:include href="../../en/module_specs/Zend_Validate-NotEmpty.xml" /></xi:fallback>
  160. </xi:include>
  161. <xi:include href="Zend_Validate-PostCode.xml">
  162. <xi:fallback><xi:include href="../../en/module_specs/Zend_Validate-PostCode.xml" /></xi:fallback>
  163. </xi:include>
  164. <sect2 id="zend.validate.set.regex">
  165. <title>Regex</title>
  166. <para>
  167. <code>$value</code> が正規表現パターンにマッチする場合にのみ <constant>TRUE</constant> を返します。
  168. </para>
  169. </sect2>
  170. <xi:include href="Zend_Validate-Sitemap.xml" />
  171. <sect2 id="zend.validate.set.string_length">
  172. <title>StringLength</title>
  173. <para>
  174. 文字列 <code>$value</code> の長さが最小値以上、
  175. かつ最大値以下 (最大値が <constant>NULL</constant> 以外のとき)
  176. の場合にのみ <constant>TRUE</constant> を返します。
  177. <methodname>setMin()</methodname>
  178. で最大値より大きい値を指定したり <methodname>setMax()</methodname>
  179. で最小値より小さい値を設定したりした場合に例外をスローします。
  180. このクラスは UTF-8 のほかに <ulink
  181. url="http://www.php.net/manual/ja/ref.iconv.php#iconv.configuration">iconv.internal_encoding</ulink>
  182. にもとづいたその他の文字エンコーディングもサポートします。
  183. 別のエンコーディングを使用したい場合は、アクセサメソッド getEncoding
  184. および setEncoding で設定します。
  185. </para>
  186. </sect2>
  187. </sect1>
  188. <!--
  189. vim:se ts=4 sw=4 et:
  190. -->