Fixes #1003: DateValidator returned true for invalid dates

This commit is contained in:
Alexander Makarov
2013-10-24 02:31:05 +04:00
parent 7ce6325de1
commit c127171efb
2 changed files with 4 additions and 1 deletions

View File

@@ -70,6 +70,8 @@ class DateValidator extends Validator
*/ */
public function validateValue($value) public function validateValue($value)
{ {
return DateTime::createFromFormat($this->format, $value) !== false; DateTime::createFromFormat($this->format, $value);
$errors = DateTime::getLastErrors();
return $errors['error_count'] === 0 && $errors['warning_count'] === 0;
} }
} }

View File

@@ -19,6 +19,7 @@ class DateValidatorTest extends TestCase
public function testValidateValue() public function testValidateValue()
{ {
$val = new DateValidator; $val = new DateValidator;
$this->assertFalse($val->validateValue('3232-32-32'));
$this->assertTrue($val->validateValue('2013-09-13')); $this->assertTrue($val->validateValue('2013-09-13'));
$this->assertFalse($val->validateValue('31.7.2013')); $this->assertFalse($val->validateValue('31.7.2013'));
$this->assertFalse($val->validateValue('31-7-2013')); $this->assertFalse($val->validateValue('31-7-2013'));