<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 21243 -->
<!-- Reviewed: no -->
<sect2 id="zend.validate.set.identical">
    <title>Identical</title>

    <para>
        <classname>Zend_Validate_Identical</classname> vous permet de valider si une valeur donnée
        est identique à une valeur préalablement fournie.
    </para>

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

        <para>
            Les options suivantes sont supportées par
            <classname>Zend_Validate_Identical</classname>&#160;:
        </para>

        <itemizedlist>
            <listitem>
                <para>
                    <emphasis><property>token</property></emphasis>&#160;: spécifie la valeur
                    qui servira à la validation de l'entrée.
                </para>
            </listitem>
        </itemizedlist>
    </sect3>

    <sect3 id="zend.validate.set.identical.basic">
        <title>Utilisation de base</title>

        <para>
            Pour valider si deux valeurs sont identiques, vous devez d'abord fournir la valeur
            d'origine. L'exemple montre la validation de deux chaînes&#160;:
        </para>

        <programlisting language="php"><![CDATA[
$valid = new Zend_Validate_Identical('origin');
if ($valid->isValid($value) {
    return true;
}
]]></programlisting>

        <para>
            La validation retournera <constant>TRUE</constant> seulement si les deux valeurs
            sont rigoureusement identiques. Dans notre exemple, quand <varname>$value</varname>
            vaudra "origin".
        </para>

        <para>
            Vous pouvez aussi fournir la valeur souhaitée plus tard en utilisant la méthode
            <methodname>setToken()</methodname> et <methodname>getToken()</methodname> pour
            récupérer la valeur actuellement paramétrée.
        </para>
    </sect3>

    <sect3 id="zend.validate.set.identical.types">
        <title>Objets identiques</title>

        <para>
            Bien sûr <classname>Zend_Validate_Identical</classname> ne se limite pas à la
            validation de chaînes, mais aussi tout type de variable comme un booléen, un
            entier, un flottant, un tableau et même les objets. Comme énoncé ci-dessus, les
            valeurs fournies et à valider doivent être identiques.
        </para>

        <programlisting language="php"><![CDATA[
$valid = new Zend_Validate_Identical(123);
if ($valid->isValid($input)) {
    // l'entrée est valide
} else {
    // l'entrée est incorrecte
}
]]></programlisting>

        <note>
            <title>Comparaison de type</title>

            <para>
                Il est important de noter que le type de la variable sert aussi lors de la
                validation. Ceci veut dire que la chaîne <emphasis>"3"</emphasis> n'est pas
                identique à l'entier <emphasis>3</emphasis>.
            </para>

            <para>
                Ceci est aussi valable pour les éléments de formulaires. Ce sont des objets ou
                des tableaux. Donc vous ne pouvez pas simplement comparer un champs texte qui
                contient un mot de passe avec une valeur textuelle provenant d'une autre source.
                L'élément de formualire lui-même est fourni en tant que tableau qui peut aussi
                contenir des informations additionnelles.
            </para>
        </note>
    </sect3>

    <sect3 id="zend.validate.set.identical.configuration">
        <title>Configuration</title>

        <para>
            omme tous les autres validateurs <classname>Zend_Validate_Identical</classname>
            supporte aussi des paramètres de configuration en tant que paramètre d'entrée.
            Ceci veut dire que vous pouvez configurer ce validateur avec une objet
            <classname>Zend_Config</classname>.
        </para>

        <para>
            Mais ceci entraîne un changement dont vous devez tenir compte. Quand vous utilisez
            un tableau en tant qu'entrée du constructeur, vous devez envelopper la valeur
            d'origine avec la clé <property>token</property>, dans ce cas elle contiendra une
            valeur unique.
        </para>

        <programlisting language="php"><![CDATA[
$valid = new Zend_Validate_Identical(array('token' => 123));
if ($valid->isValid($input)) {
    // l'entrée est valide
} else {
    // l'entrée est incorrecte
}
]]></programlisting>

        <para>
            L'exemple ci-dessus valide l'entier 123 car vous avez fourni la valeur en l'associant
            à la clé <property>token</property>.
        </para>

        <para>
            Mais, si vous devez valider un tableau qui contient un seul élément et que cet élément
            est nommé <property>token</property> alors vous devez l'envelopper comme dans l'example
            ci-dessous&#160;:
        </para>

        <programlisting language="php"><![CDATA[
$valid = new Zend_Validate_Identical(array('token' => array('token' => 123)));
if ($valid->isValid($input)) {
    // l'entrée est valide
} else {
    // l'entrée est incorrecte
}
]]></programlisting>
    </sect3>
</sect2>
