[ZF-10089] Zend_Log
[zend.git] / documentation / manual / fr / module_specs / Zend_Validate-Messages.xml
blob3e3b0cbf5d39e84d4a3138a7099d3f5375eee3bc
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- EN-Revision: 22119 -->
3 <!-- Reviewed: no -->
4 <sect1 id="zend.validate.messages">
5     <title>Messages de validation</title>
7     <para>
8         Chaque validateur basé sur <classname>Zend_Validate</classname> propose un ou plusieurs messages
9         dans le cas d'un échec. Vous pouvez utiliser ces informations pour créer vos propres messages
10         ou pour traduire les messages présents.
11     </para>
13     <para>
14         Ces messages sont représentés par des constantes se trouvant en haut de chaque classe de validateur.
15         Voyons <classname>Zend_Validate_GreaterThan</classname> pour un exemple complet:
16     </para>
18     <programlisting language="php"><![CDATA[
19 protected $_messageTemplates = array(
20     self::NOT_GREATER => "'%value%' n'est pas plus grande que '%min%'",
22 ]]></programlisting>
24     <para>
25         Comme vous le voyez, la constante <constant>self::NOT_GREATER</constant> fait référence à un échec et est
26         utilisée comme clé, le message lui-même est utilisé comme valeur dans le tableau des messages.
27     </para>
29     <para>
30         Vous pouvez récupérer les templates de messages d'un validateur en utilisant la méthode
31         <methodname>getMessageTemplates()</methodname>. Elle vous retourne le tableau comme vu ci-dessus qui contient
32         tous les messages que le validateur pourrait retourner en cas d'échec de validation.
33     </para>
35     <programlisting language="php"><![CDATA[
36 $validator = new Zend_Validate_GreaterThan();
37 $messages  = $validator->getMessageTemplates();
38 ]]></programlisting>
40     <para>
41         La méthode <methodname>setMessage()</methodname> permet de modifier un message unique correspondant à un
42         cas particulier d'échec de validation.
43     </para>
45     <programlisting language="php"><![CDATA[
46 $validator = new Zend_Validate_GreaterThan();
47 $validator->setMessage('Entrez une valeur plus petite', Zend_Validate_GreaterThan::NOT_GREATER);
48 ]]></programlisting>
50     <para>
51         Le deuxième paramètre indique le cas d'échec à surcharger. Lorsque vous omettez ce paramètre,
52         alors le message précisé sera affecté comme message pour tous les cas d'échec possibles du validateur.
53     </para>
55     <sect2 id="zend.validate.messages.pretranslated">
56         <title>Utiliser les messages de validations pré-traduits</title>
58         <para>
59             Zend Framework est livré avec plus de 45 validateurs différents et plus de 200 messages d'échecs.
60             Cela peut-être pénible de tous les traduire. Pour votre convenance, Zend Framework est livré avec
61             des messages d'échec pré-traduits. Vous les trouverez dans <filename>/resources/languages</filename>
62             de votre installation de Zend Framework.
63         </para>
65         <note>
66             <title>Chemin utilisé</title>
68             <para>
69                 Les fichiers de ressources sont en dehors du dossier library car les traductions sont sensées
70                 être en dehors de ce chemin.
71             </para>
72         </note>
74         <para>
75             Donc pour traduire les messages de validation en français par exemple, tout ce qu'il y a à faire est
76             d'attacher un objet de traduction à <classname>Zend_Validate</classname> en utilisant les fichiers
77             de ressources (pré-traductions).
78         </para>
80         <programlisting language="php"><![CDATA[
81 $translator = new Zend_Translate(
82     array(
83         'adapter' => 'array',
84         'content' => '/resources/languages',
85         'locale'  => $language,
86         'scan' => Zend_Translate::LOCALE_DIRECTORY
87     )
89 Zend_Validate_Abstract::setDefaultTranslator($translator);
90 ]]></programlisting>
92         <note>
93             <title>Adaptateur de traduction utilisé</title>
95             <para>
96                 L'adaptateur array a été utilisé, ceci pour permettre une modification simple des
97                 messages pré-traduits.
98             </para>
99         </note>
101         <note>
102             <title>Langues supportées</title>
104             <para>
105                 Cette caractéristique de pré-traduction est jeune, donc le nombre de langues supportées peut
106                 ne pas être complet. De nouvelles langues seront ajoutées dans les sorties futures.
107             </para>
109             <para>
110                 Vous pouvez aussi partir de ces fichiers pré-traduits pour créer vos propres traductions,
111                 par exemple.
112             </para>
113         </note>
114     </sect2>
116     <sect2 id="zend.validate.messages.limitation">
117         <title>Limiter la taille d'un message de validation</title>
119         <para>
120             Il peut être nécessaire parfois de limiter la taille en caractères des messages d'erreur
121             retournés. par exemple si une vue n'autorise que 100 caractères par ligne.
122             <classname>Zend_Validate</classname> propose une telle option.
123         </para>
125         <para>
126             La taille actuelle est
127             <methodname>Zend_Validate::getMessageLength()</methodname>. -1 signifie que le message ne
128             sera pas tronqué et entièrement retourné, c'est le comportement par défaut.
129         </para>
131         <para>
132             Pour limiter la taille, utilisez
133             <methodname>Zend_Validate::setMessageLength()</methodname>. Lorsque la taille excède cette valeur,
134             le message sera alors tronqué et suivi de '<emphasis>...</emphasis>'.
135         </para>
137         <programlisting language="php"><![CDATA[
138 Zend_Validate::setMessageLength(100);
139 ]]></programlisting>
141         <note>
142             <title>Où ce paramètre est-il utilisé ?</title>
144             <para>
145                 La taille des messages affecte aussi les messages personnalisés enregistrés, dès
146                 que le validateur considéré étend <classname>Zend_Validate_Abstract</classname>.
147             </para>
148         </note>
149     </sect2>
150 </sect1>