"'%value%' is not of the format YYYY-MM-DD", self::INVALID => "'%value%' does not appear to be a valid date" ); /** * Defined by Zend_Validate_Interface * * Returns true if and only if $value is a valid date of the format YYYY-MM-DD * * @param string $value * @return boolean */ public function isValid($value) { $valueString = (string) $value; $this->_setValue($valueString); if (!preg_match('/^\d{4}-\d{2}-\d{2}$/', $valueString)) { $this->_error(self::NOT_YYYY_MM_DD); return false; } list($year, $month, $day) = sscanf($valueString, '%d-%d-%d'); if (!checkdate($month, $day, $year)) { $this->_error(self::INVALID); return false; } return true; } }