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

    <para>
        <classname>Zend_Validate_Date</classname> erlaubt es zu prüfen ob ein angegebener Wert ein
        Datum enthält. Diese Prüfung prüft auch lokalisierte Eingaben.
    </para>

    <sect3 id="zend.validate.set.date.options">
        <title>Unterstützte Optionen für Zend_Validate_Date</title>

        <para>
            Die folgenden Optionen werden für <classname>Zend_Validate_Date</classname> unterstützt:
        </para>

        <itemizedlist>
            <listitem>
                <para>
                    <emphasis><property>format</property></emphasis>: Setzt das Format welches
                    verwendet wird um das Datum zu schreiben.
                </para>
            </listitem>

            <listitem>
                <para>
                    <emphasis><property>locale</property></emphasis>: Setzt das Gebietsschema
                    welches verwendet wird um Datumswerte zu prüfen.
                </para>
            </listitem>
        </itemizedlist>
    </sect3>

    <sect3 id="zend.validate.set.date.basic">
        <title>Standardmäßige Datumsprüfung</title>

        <para>
            Der einfachste Weg um ein Datum zu prüfen ist die Verwendung des Standardmäßigen
            Datumsformats. Dieses wird verwendet wenn kein Gebietsschema und kein Format angegeben
            werden.
        </para>

        <programlisting language="php"><![CDATA[
$validator = new Zend_Validate_Date();

$validator->isValid('2000-10-10');   // Gibt true zurück
$validator->isValid('10.10.2000'); // Gibt false zurück
]]></programlisting>

        <para>
            Das standardmäßige Datumsformat für <classname>Zend_Validate_Date</classname> ist
            'yyyy-MM-dd'.
        </para>
    </sect3>

    <sect3 id="zend.validate.set.date.localized">
        <title>Lokalisierte Datumsprüfung</title>

        <para>
            <classname>Zend_Validate_Date</classname> prüft auch Daten welche in einem lokalisierten
            Format angegeben werden. Durch Verwendung der Option <property>locale</property> kann
            das Gebietsschema definiert werden von dem das Datumsformat für die Prüfung verwendet
            werden soll.
        </para>

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

$validator->isValid('10.Feb.2010'); // Gibt true zurück
$validator->isValid('10.May.2010'); // Gibt false zurück
]]></programlisting>

        <para>
            Die Option <property>locale</property> setzt das standardmäßige Datumsformat. Im obigen
            Beispiel ist dies 'dd.MM.yyyy' welches als Standardmäßige Datumsformat für 'de'
            definiert ist.
        </para>
    </sect3>

    <sect3 id="zend.validate.set.date.formats">
        <title>Selbst definierte Datumsprüfung</title>

        <para>
            <classname>Zend_Validate_Date</classname> unterstützt auch selbst definierte
            Datumsformate. Wenn man solch ein Datum prüfen will muss man die Option
            <property>format</property> verwenden.
        </para>

        <programlisting language="php"><![CDATA[
$validator = new Zend_Validate_Date(array('format' => 'yyyy'));

$validator->isValid('2010'); // Gibt true zurück
$validator->isValid('May');  // Gibt false zurück
]]></programlisting>

        <para>
            Natürlich kann man <property>format</property> und <property>locale</property>
            kombinieren. In diesem Fall kann man lokalisierte Monats- oder Tagesnamen verwenden.
        </para>

        <programlisting language="php"><![CDATA[
$validator = new Zend_Validate_Date(array('format' => 'yyyy MMMM', 'locale' => 'de'));

$validator->isValid('2010 Dezember'); // Gibt true zurück
$validator->isValid('2010 June');     // Gibt false zurück
]]></programlisting>
    </sect3>
</sect2>
<!--
vim:se ts=4 sw=4 et:
-->
