Examines getLastErrors() to see what errors to report.
Two kinds of errors are important: anything that DateTime considers an error, and also a warning that the date was invalid. PHP creates a valid date from invalid data with only a warning, 2011-02-30 becomes 2011-03-03, for instance, but we don't want that.
http://us3.php.net/manual/en/time.getlasterrors.php
public function checkErrors() {
$errors = $this
->getLastErrors();
if (!empty($errors['errors'])) {
$this->errors += $errors['errors'];
}
// Most warnings are messages that the date could not be parsed
// which causes it to be altered. For validation purposes, a warning
// as bad as an error, because it means the constructed date does
// not match the input value.
if (!empty($errors['warnings'])) {
$this->errors[] = 'The date is invalid.';
}
}