PrüfungsmeldungenJede Prüfung die auf Zend_Validate basiert, bietet im Fall einer fehlgeschlagen Prüfung eine oder mehrere Meldungen an. Diese Information kann verwendet werden um eigene Meldungen zu setzen, oder bestehende Meldungen welche eine Prüfung zurückgeben könnte, auf etwas anderes zu übersetzen. Diese Prüfmeldungen sind Konstanten welche am Beginn jeder Prüfklasse gefunden werden können. Sehen wir uns für ein beschreibendes Beispiel Zend_Validate_GreaterThan an:
Wie man siehr referenziert die Konstante self::NOT_GREATER auf den Fehler und wird als Schlüssel verwendet. Und die Nachricht selbst ist der Wert des Nachrichtenarrays. Man kann alle Nachrichten Templates einer Prüfung erhalten indem man die Methode getMessageTemplates() verwendet. Diese gibt das oben stehende array zurück, welches alle Nachrichten enthält die eine Prüfung im Falle einer fehlgeschlagenen Prüfung zurückgeben kann. Indem die Methode setMessage() verwendet wird kann man eine andere Meldung definieren die im Fall des spezifizierten Fehlers zurückgegeben werden.
Der zweite Parameter definiert den Fehler der überschrieben wird. Wenn man diesen Parameter nicht angibt, wird die angegebene Meldung für alle möglichen Fehler dieser Prüfung gesetzt. Verwendung vor-übersetzter PrüfungsmeldungenZend Framework wird mit mehr als 45 unterschiedlichen Prüfern und mehr als 200 Fehlermeldungen ausgeliefert. Es kann eine zeitraubende Aufgabe sein alle diese Meldungen zu übersetzen. Aber der Bequemlichkeit halber kommt Zend Framework mit bereits vor-übersetzten Prüfmeldungen. Diese können im Pfad /resources/languages der eigenen Zend Framework Installation gefunden werden.
Um also alle Prüfmeldungen zum Beispiel auf Deutsch zu übersetzen muss man nur einen Übersetzer an Zend_Validate anhängen der diese Ressourcedateien verwendet.
Begrenzen der Größe einer PrüfungsmeldungManchmal ist es notwendig die maximale Größe die eine Prüfungsmeldung haben kann zu begrenzen. Zum Beispiel wenn die View nur eine maximale Größe von 100 Zeichen für die Darstellung auf einer Zeile erlaubt. Um die Verwendung zu vereinfachen, ist Zend_Validate dazu in der Lage die maximal zurückgegebene Größe einer Prüfnachricht zu begrenzen. Um die aktuell gesetzte Größe zu erhalten ist Zend_Validate::getMessageLength() zu verwenden. Wenn diese -1 ist, dann wird die zurückgegebene Nachricht nicht begrenzt. Das ist das Standardverhalten. Um die Größe der zurückgegebenen Nachrichten zu begrenzen ist Zend_Validate::setMessageLength() zu verwenden. Man kann diese auf jede benötigte Integer Größe setzen. Wenn die zurückzugebende Nachricht die gesetzte Größe überschreitet, dann wird die Nachricht abgeschnitten und der String '...' wird statt dem Rest der Nachricht hinzugefügt.
|