# Date

`Zend_Validate_Date` allows you to validate if a given value contains a date. This validator validates also localized input.

## Supported options for Zend_Validate_Date

The following options are supported for `Zend_Validate_Date`:

- format: Sets the format which is used to write the date.

- locale: Sets the locale which will be used to validate date values.

## Default date validation

The easiest way to validate a date is by using the default date format. It is used when no locale and no format has been given.

    $validator = new Zend_Validate_Date();

    $validator->isValid('2000-10-10');   // returns true
    $validator->isValid('10.10.2000'); // returns false

The default date format for `Zend_Validate_Date` is 'yyyy-MM-dd'.

## Localized date validation

`Zend_Validate_Date` validates also dates which are given in a localized format. By using the locale option you can define the locale which the date format should use for validation.

    $validator = new Zend_Validate_Date(array('locale' => 'de'));

    $validator->isValid('10.Feb.2010'); // returns true
    $validator->isValid('10.May.2010'); // returns false

The locale option sets the default date format. In the above example this is 'dd.MM.yyyy' which is defined as default date format for 'de'.

## Self defined date validation

`Zend_Validate_Date` supports also self defined date formats. When you want to validate such a date you can use the format option.

    $validator = new Zend_Validate_Date(array('format' => 'yyyy'));

    $validator->isValid('2010'); // returns true
    $validator->isValid('May');  // returns false

Of course you can combine format and locale. In this case you can also use localized month or daynames.

    $validator = new Zend_Validate_Date(array('format' => 'yyyy MMMM', 'locale' => 'de'));

    $validator->isValid('2010 Dezember'); // returns true
    $validator->isValid('2010 June');     // returns false