From bbda17a24802ba9a52c40acb778cc41ea1b9a28b Mon Sep 17 00:00:00 2001 From: Lucas Michot Date: Mon, 17 Jul 2017 18:20:39 +0200 Subject: [PATCH] Also validate DateTimeImmutable --- src/Illuminate/Validation/Concerns/ValidatesAttributes.php | 2 +- tests/Validation/ValidationValidatorTest.php | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Illuminate/Validation/Concerns/ValidatesAttributes.php b/src/Illuminate/Validation/Concerns/ValidatesAttributes.php index f431b6ec04bf..fd2808ab7add 100644 --- a/src/Illuminate/Validation/Concerns/ValidatesAttributes.php +++ b/src/Illuminate/Validation/Concerns/ValidatesAttributes.php @@ -329,7 +329,7 @@ protected function validateConfirmed($attribute, $value) */ protected function validateDate($attribute, $value) { - if ($value instanceof DateTime) { + if ($value instanceof DateTimeInterface) { return true; } diff --git a/tests/Validation/ValidationValidatorTest.php b/tests/Validation/ValidationValidatorTest.php index ffbd491c5e49..be7b194d250a 100755 --- a/tests/Validation/ValidationValidatorTest.php +++ b/tests/Validation/ValidationValidatorTest.php @@ -4,6 +4,7 @@ use DateTime; use Mockery as m; +use DateTimeImmutable; use Illuminate\Support\Arr; use Illuminate\Support\Carbon; use PHPUnit\Framework\TestCase; @@ -2274,6 +2275,9 @@ public function testValidateDateAndFormat() $v = new Validator($trans, ['x' => new DateTime], ['x' => 'date']); $this->assertTrue($v->passes()); + $v = new Validator($trans, ['x' => new DateTimeImmutable], ['x' => 'date']); + $this->assertTrue($v->passes()); + $v = new Validator($trans, ['x' => '2000-01-01'], ['x' => 'date_format:Y-m-d']); $this->assertTrue($v->passes());