DateTime validator support for trailing data
This commit is contained in:
parent
400ab7c59b
commit
27f6e28f5b
@ -57,6 +57,12 @@ class DateTimeValidator extends DateValidator
|
||||
return;
|
||||
}
|
||||
|
||||
if('+' === substr($constraint->format, -1)) {
|
||||
$errors['warnings'] = array_filter($errors['warnings'], function($warning) {
|
||||
return 'Trailing data' !== $warning;
|
||||
});
|
||||
}
|
||||
|
||||
foreach ($errors['warnings'] as $warning) {
|
||||
if ('The parsed date was invalid' === $warning) {
|
||||
$this->context->buildViolation($constraint->message)
|
||||
|
@ -128,4 +128,12 @@ class DateTimeValidatorTest extends ConstraintValidatorTestCase
|
||||
['Y-m-d H:i:s', '2010-01-01 00:00:60', DateTime::INVALID_TIME_ERROR],
|
||||
];
|
||||
}
|
||||
|
||||
public function testDateTimeWithTrailingData()
|
||||
{
|
||||
$this->validator->validate('1995-05-10 00:00:00', new DateTime([
|
||||
'format' => 'Y-m-d+',
|
||||
]));
|
||||
$this->assertNoViolation();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user