[ZF-8969] Manual:
[zend.git] / documentation / manual / en / module_specs / Zend_Validate-Set.xml
blob63fa2f5f6b644fe827ca038b0bc885dda34d4a31
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <sect1 id="zend.validate.set" xmlns:xi="http://www.w3.org/2001/XInclude">
4     <title>Standard Validation Classes</title>
6     <para>
7         Zend Framework comes with a standard set of validation classes, which are ready for you to
8         use.
9     </para>
11     <sect2 id="zend.validate.set.alnum">
12         <title>Alnum</title>
14         <para>
15             Returns <constant>TRUE</constant> if and only if <varname>$value</varname> contains only
16             alphabetic and digit characters. This validator includes an option to also consider
17             white space characters as valid.
18         </para>
20         <note>
21             <para>
22                 The alphabetic characters mean characters that makes up words in each language.
23                 However, the English alphabet is treated as the alphabetic characters in following
24                 languages: Chinese, Japanese, Korean. The language is specified by
25                 <classname>Zend_Locale</classname>.
26             </para>
27         </note>
28     </sect2>
30     <sect2 id="zend.validate.set.alpha">
31         <title>Alpha</title>
33         <para>
34             Returns <constant>TRUE</constant> if and only if <varname>$value</varname> contains only
35             alphabetic characters. This validator includes an option to also consider white space
36             characters as valid.
37         </para>
38     </sect2>
40     <xi:include href="Zend_Validate-Barcode.xml" />
41     <xi:include href="Zend_Validate-Between.xml" />
42     <xi:include href="Zend_Validate-Callback.xml" />
43     <xi:include href="Zend_Validate-CreditCard.xml" />
45     <sect2 id="zend.validate.set.ccnum">
46         <title>Ccnum</title>
48         <note>
49             <para>
50                 The <classname>Ccnum</classname> validator has been deprecated in favor of the
51                 <classname>CreditCard</classname> validator. For security reasons you should use
52                 CreditCard instead of Ccnum.
53             </para>
54         </note>
55     </sect2>
57     <sect2 id="zend.validate.set.date">
58         <title>Date</title>
60         <para>
61             Returns <constant>TRUE</constant> if <varname>$value</varname> is a valid date of the
62             format 'YYYY-MM-DD'. If the optional <property>locale</property> option is set then the
63             date will be validated according to the set locale. And if the optional
64             <property>format</property> option is set this format is used for the validation. for
65             details about the optional parameters see <link
66                 linkend="zend.date.others.comparison.table">Zend_Date::isDate()</link>.
67         </para>
68     </sect2>
70     <xi:include href="Zend_Validate-Db.xml" />
72     <sect2 id="zend.validate.set.digits">
73         <title>Digits</title>
75         <para>
76             Returns <constant>TRUE</constant> if and only if <varname>$value</varname> only contains
77             digit characters.
78         </para>
79     </sect2>
81     <xi:include href="Zend_Validate-EmailAddress.xml" />
83     <sect2 id="zend.validate.set.float">
84         <title>Float</title>
86         <para>
87             Returns <constant>TRUE</constant> if and only if <varname>$value</varname> is a
88             floating-point value. Since Zend Framework 1.8 this validator takes into account the
89             actual locale from browser, environment or application wide set locale. You can of
90             course use the get/setLocale accessors to change the used locale or give it while
91             creating a instance of this validator.
92         </para>
93     </sect2>
95     <sect2 id="zend.validate.set.greater_than">
96         <title>GreaterThan</title>
98         <para>
99             Returns <constant>TRUE</constant> if and only if <varname>$value</varname> is greater
100             than the minimum boundary.
101         </para>
102     </sect2>
104     <xi:include href="Zend_Validate-Hex.xml" />
105     <xi:include href="Zend_Validate-Hostname.xml" />
107     <sect2 id="zend.validate.set.iban">
108         <title>Iban</title>
110         <para>
111             Returns <constant>TRUE</constant> if and only if <varname>$value</varname> contains a
112             valid IBAN (International Bank Account Number). IBAN numbers are validated against the
113             country where they are used and by a checksum.
114         </para>
116         <para>
117             There are two ways to validate IBAN numbers. As first way you can give a locale which
118             represents a country. Any given IBAN number will then be validated against this country.
119         </para>
121         <programlisting language="php"><![CDATA[
122 $validator = new Zend_Validate_Iban('de_AT');
123 $iban = 'AT611904300234573201';
124 if ($validator->isValid($iban)) {
125     // IBAN appears to be valid
126 } else {
127     // IBAN is invalid
128     foreach ($validator->getMessages() as $message) {
129         echo "$message\n";
130     }
132 ]]></programlisting>
134         <para>
135             This should be done when you want to validate IBAN numbers for a single countries. The
136             simpler way of validation is not to give a locale like shown in the next example.
137         </para>
139         <programlisting language="php"><![CDATA[
140 $validator = new Zend_Validate_Iban();
141 $iban = 'AT611904300234573201';
142 if ($validator->isValid($iban)) {
143     // IBAN appears to be valid
144 } else {
145     // IBAN is invalid
147 ]]></programlisting>
149         <para>
150             But this shows one big problem: When you have to accept only IBAN numbers from one
151             single country, for example france, then IBAN numbers from other countries would also be
152             valid. Therefor just remember: When you have to validate a IBAN number against a defined
153             country you should give the locale. And when you accept all IBAN numbers regardless of
154             any country omit the locale for simplicity.
155         </para>
156     </sect2>
158     <xi:include href="Zend_Validate-Identical.xml" />
159     <xi:include href="Zend_Validate-InArray.xml" />
161     <sect2 id="zend.validate.set.int">
162         <title>Int</title>
164         <para>
165             Returns <constant>TRUE</constant> if and only if <varname>$value</varname> is a valid
166             integer. Since Zend Framework 1.8 this validator takes into account the actual locale
167             from browser, environment or application wide set locale. You can of course use the
168             get/setLocale accessors to change the used locale or give it while creating a instance
169             of this validator.
170         </para>
171     </sect2>
173     <xi:include href="Zend_Validate-Ip.xml" />
174     <xi:include href="Zend_Validate-Isbn.xml" />
176     <sect2 id="zend.validate.set.less_than">
177         <title>LessThan</title>
179         <para>
180             Returns <constant>TRUE</constant> if and only if <varname>$value</varname> is less than
181             the maximum boundary.
182         </para>
183     </sect2>
185     <xi:include href="Zend_Validate-NotEmpty.xml" />
186     <xi:include href="Zend_Validate-PostCode.xml" />
188     <sect2 id="zend.validate.set.regex">
189         <title>Regex</title>
191         <para>
192             Returns <constant>TRUE</constant> if and only if <varname>$value</varname> matches
193             against a regular expression pattern.
194         </para>
195     </sect2>
197     <xi:include href="Zend_Validate-Sitemap.xml" />
199     <sect2 id="zend.validate.set.string_length">
200         <title>StringLength</title>
202         <para>
203             Returns <constant>TRUE</constant> if and only if the string length of
204             <varname>$value</varname> is at least a minimum and no greater than a maximum (when the
205             max option is not <constant>NULL</constant>). The <methodname>setMin()</methodname>
206             method throws an exception if the minimum length is set to a value greater than the set
207             maximum length, and the <methodname>setMax()</methodname> method throws an exception if
208             the maximum length is set to a value less than the set minimum length. This class
209             supports UTF-8 and other character encodings, based on the current value of <ulink
210                 url="http://www.php.net/manual/en/ref.iconv.php#iconv.configuration">iconv.internal_encoding</ulink>.
211             If you need a different encoding you can set it with the accessor methods getEncoding
212             and setEncoding.
213         </para>
214     </sect2>
215 </sect1>
216 <!--
217 vim:se ts=4 sw=4 et: