|
|
@@ -0,0 +1,112 @@
|
|
|
+<?xml version="1.0" encoding="utf-8"?>
|
|
|
+<!-- EN-Revision: 18822 -->
|
|
|
+<!-- Reviewed: no -->
|
|
|
+<sect2 id="zend.validate.set.post_code">
|
|
|
+ <title>PostCode</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ <classname>Zend_Validate_PostCode</classname> vous permet de déterminer si une valeur
|
|
|
+ donnée est un code postal valide. Les codes postaux siont spécifiques aux villes et dans
|
|
|
+ quelques cas spéciaux sont nommés des codes <acronym>ZIP</acronym>.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ <classname>Zend_Validate_PostCode</classname> reconnait plus de 160 différents formats de
|
|
|
+ codes postaux. Pour sélectionner le format correct, il existe deux manières. Vous pouvez
|
|
|
+ soit utiliser une locale complète, soit paramétrer votre propre format manuellement.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Utiliser la locale est la méthode la plus commode puisque Zend Framework connait les
|
|
|
+ formats des codes postaux assoicés à chaque locale  cependant, vous devez utiliser
|
|
|
+ une locale complète (c'est-à-dire contenant aussi le spécificateur de région) dans ce cas.
|
|
|
+ Par exemple, la locale "fr" est une bien une locale mais ne peut pas être utilisée avec
|
|
|
+ <classname>Zend_Validate_PostCode</classname> puisqu'elle ne contient pas la
|
|
|
+ région ; "fr_FR" sera, cependant, une locale valide puisqu'elle spécifie une région
|
|
|
+ ("FR", pour France).
|
|
|
+ </para>
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+$validator = new Zend_Validate_PostCode('fr_FR');
|
|
|
+]]></programlisting>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Quand vous ne paramétrez pas de locale vous-même, alors
|
|
|
+ <classname>Zend_Validate_PostCode</classname> utilisera la locale de l'application, ou, s'il
|
|
|
+ n'y en a pas, la locale retournée par <classname>Zend_Locale</classname>.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+// locale de l'application définie dans le bootstrap
|
|
|
+$locale = new Zend_Locale('fr_FR');
|
|
|
+Zend_Registry::set('Zend_Locale', $locale);
|
|
|
+$validator = new Zend_Validate_PostCode();
|
|
|
+]]></programlisting>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Vous pouvez changer la locale plus tard en appelant <methodname>setLocale()</methodname>.
|
|
|
+ Et bien sûr vous pouvez récupérer la locale courante avec
|
|
|
+ <methodname>getLocale()</methodname>.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+$validator = new Zend_Validate_PostCode('fr_FR');
|
|
|
+$validator->setLocale('en_GB');
|
|
|
+]]></programlisting>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Les formats de codes postaux sont simplement des chaînes d'expressions régulières. Quand le
|
|
|
+ format de code postal international, qui est utilisé en paramétrant la locale, ne correspond
|
|
|
+ pas à vos besoins, alors vous pouvez alors paramétrer manuellement un format en appelant
|
|
|
+ <methodname>setFormat()</methodname>.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+$validator = new Zend_Validate_PostCode('fr_FR');
|
|
|
+$validator->setFormat('FR-\d{5}');
|
|
|
+]]></programlisting>
|
|
|
+
|
|
|
+ <note>
|
|
|
+ <title>Conventions pour les formats personnalisés</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Lors de l'utilisation de formats personnalisés, vous devez omettre les balises de début
|
|
|
+ (<command>'/^'</command>) et de fin (<command>'$/'</command>). Elles sont ajoutés
|
|
|
+ automatiquement.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Vous devez faire attention au fait que les valeurs de code postal sont toujours
|
|
|
+ validées de manière stricte. Ce qui veut dire qu'ils doivent être écrits seuls sans
|
|
|
+ caractère additionnel qui ne serait pas couvert par le format.
|
|
|
+ </para>
|
|
|
+ </note>
|
|
|
+
|
|
|
+ <sect3 id="zend.validate.set.post_code.constructor">
|
|
|
+ <title>Options du constructeur</title>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ Le plus basiquement possible, vous fournissez soit un objet
|
|
|
+ <classname>Zend_Locale</classname>, soit une chaîne représentant une locale complète
|
|
|
+ au constructeur de <classname>Zend_Validate_PostCode</classname>.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+$validator = new Zend_Validate_PostCode('fr_FR');
|
|
|
+$validator = new Zend_Validate_PostCode($locale);
|
|
|
+]]></programlisting>
|
|
|
+
|
|
|
+ <para>
|
|
|
+ De plus, vous pouve zfournir un tableau ou un objet <classname>Zend_Config</classname>
|
|
|
+ au constructeur. Quand vous faîtes ceci, vous devez inclure soit la clé "locale" ou
|
|
|
+ "format" ;celles-ci seront utilisées pour paramétrer les valeurs appropriées dans
|
|
|
+ l'objet validateur.
|
|
|
+ </para>
|
|
|
+
|
|
|
+ <programlisting language="php"><![CDATA[
|
|
|
+$validator = new Zend_Validate_PostCode(array(
|
|
|
+ 'locale' => 'fr_FR',
|
|
|
+ 'format' => 'FR-\d+'
|
|
|
+));
|
|
|
+]]></programlisting>
|
|
|
+ </sect3>
|
|
|
+</sect2>
|