Commit c127171e by Alexander Makarov

Fixes #1003: DateValidator returned true for invalid dates

parent 7ce6325d
...@@ -70,6 +70,8 @@ class DateValidator extends Validator ...@@ -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;
} }
} }
...@@ -19,6 +19,7 @@ class DateValidatorTest extends TestCase ...@@ -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'));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment