[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / ja / module_specs / Zend_Validate-InArray.xml
blob0838b72d88e16a702b37b49ae703a7dce6886f3e
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 21243 -->
4 <sect2 id="zend.validate.set.in_array">
6     <title>InArray</title>
8     <para>
9         任意の値が配列の中で含まれるかどうか、
10         <classname>Zend_Validate_InArray</classname>で検証できます。
11         それは、多次元配列を確認することもできます。
12     </para>
14     <!-- TODO : to be translated -->
15     <sect3 id="zend.validate.set.in_array.options">
16         <title>Supported options for Zend_Validate_InArray</title>
18         <para>
19             The following options are supported for <classname>Zend_Validate_InArray</classname>:
20         </para>
22         <itemizedlist>
23             <listitem>
24                 <para>
25                     <emphasis><property>haystack</property></emphasis>: Sets the haystack for the
26                     validation.
27                 </para>
28             </listitem>
30             <listitem>
31                 <para>
32                     <emphasis><property>recursive</property></emphasis>: Defines if the validation
33                     should be done recursive. This option defaults to <constant>FALSE</constant>.
34                 </para>
35             </listitem>
37             <listitem>
38                 <para>
39                     <emphasis><property>strict</property></emphasis>: Defines if the validation
40                     should be done strict. This option defaults to <constant>FALSE</constant>.
41                 </para>
42             </listitem>
43         </itemizedlist>
44     </sect3>
46     <sect3 id="zend.validate.set.in_array.basic">
47         <title>単純な配列の検証</title>
49         <para>
50             最も単純な方法は、初期化の際に検索される配列を与えることがまさにそうです。
51         </para>
53         <programlisting language="php"><![CDATA[
54 $validator = new Zend_Validate_InArray(array('key' => 'value',
55                                              'otherkey' => 'othervalue'));
56 if ($validator->isValid('value')) {
57     // 値が見つかりました
58 } else {
59     // 値が見つかりません
61 ]]></programlisting>
63         <para>
64             これは、ちょうど<acronym>PHP</acronym>の<methodname>in_array()</methodname>
65             メソッドのようにふるまいます
66         </para>
68         <note>
69             <para>
70                 デフォルトでは、この検証は厳格ではありませんし、
71                 それは多次元配列を検証することができません。
72             </para>
73         </note>
75         <para>
76             もちろん、<methodname>setHaystack()</methodname>メソッドを用いてその後また、
77             検証する配列を与えることができます。
78             <methodname>getHaystack()</methodname> は、実際に設定されている配列を返します。
79         </para>
81         <programlisting language="php"><![CDATA[
82 $validator = new Zend_Validate_InArray();
83 $validator->setHaystack(array('key' => 'value', 'otherkey' => 'othervalue'));
85 if ($validator->isValid('value')) {
86     // 値が見つかりました
87 } else {
88     // 値が見つかりません
90 ]]></programlisting>
91     </sect3>
93     <sect3 id="zend.validate.set.in_array.strict">
94         <title>厳密な配列の検証</title>
96         <para>
97             上述のように、配列の中で厳密な検証をすることもできます。
98             デフォルトでは、整数値<emphasis>0</emphasis>と文字列<emphasis>"0"</emphasis>の違いがありません。
99             厳密な検証をするときは、この違いも検証されます。そして、同じ型だけが受け入れられます。
100         </para>
102         <para>
103             厳密な検証は、異なる2つの方法を用いて行なうこともできます。
104             初期化で、及びメソッドを用いて。
105             初期化では、以下の構造で配列を与えなければなりません。
106         </para>
108         <programlisting language="php"><![CDATA[
109 $validator = new Zend_Validate_InArray(
110     array(
111         'haystack' => array('key' => 'value', 'otherkey' => 'othervalue'),
112         'strict'   => true
113     )
116 if ($validator->isValid('value')) {
117     // 値が見つかりました
118 } else {
119     // 値が見つかりません
121 ]]></programlisting>
123         <para>
124             <emphasis>haystack</emphasis>キーは、検証する配列を含みます。
125             そして<emphasis>strict</emphasis>キーを<constant>TRUE</constant>に設定することにより、
126             検証は厳密な型チェックを用いてなされます。
127         </para>
129         <para>
130             もちろん、その後この設定値を変えるために、
131             <methodname>setStrict()</methodname>メソッドを使うこともできます。
132             また、<methodname>getStrict()</methodname> で実際に設定されている内容を取得することもできます。
133         </para>
135         <note>
136             <para>
137                 <emphasis>strict</emphasis>設定は、
138                 デフォルトでは<constant>FALSE</constant>であることに注意してください。
139             </para>
140         </note>
141     </sect3>
143     <sect3 id="zend.validate.set.in_array.recursive">
144         <title>再帰的な配列の検証</title>
146         <para>
147             <acronym>PHP</acronym>の<methodname>in_array()</methodname>メソッド
148             に加えて、このバリデータは、多次元配列を検証するために使うこともできます。
149         </para>
151         <para>
152             多次元配列を検証するためには、
153             <emphasis>recursive</emphasis>オプションを設定しなければなりません。
154         </para>
156         <programlisting language="php"><![CDATA[
157 $validator = new Zend_Validate_InArray(
158     array(
159         'haystack' => array(
160             'firstDimension' => array('key' => 'value',
161                                       'otherkey' => 'othervalue'),
162             'secondDimension' => array('some' => 'real',
163                                        'different' => 'key')),
164         'recursive' => true
165     )
168 if ($validator->isValid('value')) {
169     // 値が見つかりました
170 } else {
171     // 値が見つかりません
173 ]]></programlisting>
175         <para>
176             それにより、任意の値が含まれるかどうか配列が再帰的に検証されます。
177             さらに、<methodname>setRecursive()</methodname> を使って後からこのオプションを設定したり
178             <methodname>getRecursive()</methodname> で設定を取得したりすることもできます。
179         </para>
181         <programlisting language="php"><![CDATA[
182 $validator = new Zend_Validate_InArray(
183     array(
184         'firstDimension' => array('key' => 'value',
185                                   'otherkey' => 'othervalue'),
186         'secondDimension' => array('some' => 'real',
187                                    'different' => 'key')
188     )
190 $validator->setRecursive(true);
192 if ($validator->isValid('value')) {
193     // 値が見つかりました
194 } else {
195     // 値が見つかりません
197 ]]></programlisting>
199         <note>
200             <title>再帰的な検証のデフォルト設定</title>
202             <para>
203                 デフォルトでは再帰的な検証は無効となります。
204             </para>
205         </note>
207         <note>
208             <title>配列内でのオプションキー</title>
210             <para>
211                 '<property>haystack</property>' や
212                 '<property>strict</property>'、'<property>recursive</property>'
213                 といったキーを配列内で使う場合は、<property>haystack</property>
214                 キーをラップしなければなりません。
215             </para>
216         </note>
217     </sect3>
219 </sect2>
220 <!--
221 vim:se ts=4 sw=4 et: