bug #37097 DateTime validator support for trailing data (stefankleff)
This PR was squashed before being merged into the 3.4 branch.
Discussion
----------
DateTime validator support for trailing data
| Q | A
| ------------- | ---
| Branch? | 3.4
| Bug fix? | yes
| New feature? | no
| Deprecations? | no
| Tickets | Fix #37094
| License | MIT
Commits
-------
27f6e28f5b
DateTime validator support for trailing data
This commit is contained in:
commit
1e52146339
@ -57,6 +57,12 @@ class DateTimeValidator extends DateValidator
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if('+' === substr($constraint->format, -1)) {
|
||||||
|
$errors['warnings'] = array_filter($errors['warnings'], function($warning) {
|
||||||
|
return 'Trailing data' !== $warning;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($errors['warnings'] as $warning) {
|
foreach ($errors['warnings'] as $warning) {
|
||||||
if ('The parsed date was invalid' === $warning) {
|
if ('The parsed date was invalid' === $warning) {
|
||||||
$this->context->buildViolation($constraint->message)
|
$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],
|
['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