<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<!-- EN-Revision: 24249 -->
<sect2 id="zend.validate.set.iban">
    <title>Iban</title>

    <para>
        <classname>Zend_Validate_Iban</classname> valide si un nombre donnée est un numéro
        <acronym>IBAN</acronym> number. <acronym>IBAN</acronym> est l'abréviation de
        "International Bank Account Number".
    </para>

    <sect3 id="zend.validate.set.iban.options">
        <title>Options supportées par Zend_Validate_Iban</title>

        <para>
            Les options suivantes sont supportées par <classname>Zend_Validate_Iban</classname>:
        </para>

        <itemizedlist>
            <listitem>
                <para>
                    <emphasis><property>locale</property></emphasis>: Affecte la locale à utiliser pour
                    la validation du format du numéro <acronym>IBAN</acronym>.
                </para>
            </listitem>
        </itemizedlist>
    </sect3>

    <sect3 id="zend.validate.set.iban.basic">
        <title>Validation IBAN</title>

        <para>
            Les numéros <acronym>IBAN</acronym> sont toujours relatifs à un pays. Ceci signifie que différents
            pays utilisent des formats différents de numéros <acronym>IBAN</acronym>. C'est la raison pour
            laquelle les numéros <acronym>IBAN</acronym> ont toujours besoin d'une locale. Sachant cela, nous
            savons déja utiliser <classname>Zend_Validate_Iban</classname>.
        </para>

        <sect4 id="zend.validate.set.iban.basic.application">
            <title>Locale globale à l'application</title>

            <para>
                Nous pourrions utiliser la locale globale à l'application. Ainsi si on ne passe aucune
                option à l'initialisation de <classname>Zend_Validate_Iban</classname>, celui-ci va chercher
                la locale globale. Voyez le code qui suit:
            </para>

            <programlisting language="php"><![CDATA[
// dans le bootstrap
Zend_Registry::set('Zend_Locale', new Zend_Locale('de_AT'));

// dans le module
$validator = new Zend_Validate_Iban();

if ($validator->isValid('AT611904300234573201')) {
    // IBAN est valide
} else {
    // IBAN n'est pas valide
}
]]></programlisting>

            <note>
                <title>Locale globale à l'application</title>

                <para>
                    Bien sûr cela ne fonctionne que lorsqu'une locale globale a été spécifiée et enregistrée
                    dans le registre. Sinon, <classname>Zend_Locale</classname> va essayer d'utiliser la locale
                    que le client envoie, si aucune n'a été envoyée, la locale de l'environnement sera
                    utilisée. Méfiez-vous cela peut mener à des comportements non voulus lors de la validation.
                </para>
            </note>
        </sect4>

        <sect4 id="zend.validate.set.iban.basic.false">
            <title>Validation IBAN simplifiée</title>

            <para>
                Il peut arriver parfois que vous ayiez juste besoin de vérifier le format du numéro
                et s'il <emphasis>est</emphasis> un numéro <acronym>IBAN</acronym>. Vous ne voudriez pas utiliser
                un pays particulier pour valider. Ceci peut être réalisé en passant <constant>FALSE</constant> en
                tant que locale.
            </para>

            <programlisting language="php"><![CDATA[
$validator = new Zend_Validate_Iban(array('locale' => false));
// Note: Vous pouvez aussi passer FALSE comme paramètre unique (sans tableau)

if ($validator->isValid('AT611904300234573201')) {
    // IBAN est valide
} else {
    // IBAN n'est pas valide
}
]]></programlisting>

            <para>
                Ainsi <emphasis>tout</emphasis> numéro <acronym>IBAN</acronym> sera valide. Notez que
                ceci ne devrait pas être utilisé si vous ne supportez qu'un seul pays.
            </para>
        </sect4>

        <sect4 id="zend.validate.set.iban.basic.aware">
            <title>Validation IBAN en fonction d'un pays</title>

            <para>
                Pour valider par rapport à un pays/région, passez simplement la locale désirée.
                L'option <property>locale</property> peut alors être utilisée ou la méthode
                <methodname>setLocale()</methodname>.
            </para>

            <programlisting language="php"><![CDATA[
$validator = new Zend_Validate_Iban(array('locale' => 'de_AT'));

if ($validator->isValid('AT611904300234573201')) {
    // IBAN est valide
} else {
    // IBAN n'est pas valide
}
]]></programlisting>

            <note>
                <title>Utilisez des locales pleinement qualifiées</title>

                <para>
                    Vous devez passer une locale pleinement qualifiée sinon le nom de la région ne
                    pourra être trouvé et utilisé.
                </para>
            </note>
        </sect4>
    </sect3>
</sect2>
<!--
vim:se ts=4 sw=4 et:
-->
