diff --git a/src/Illuminate/Validation/Concerns/ValidatesAttributes.php b/src/Illuminate/Validation/Concerns/ValidatesAttributes.php index 6a22dd3cc06c..86bba603c1b7 100644 --- a/src/Illuminate/Validation/Concerns/ValidatesAttributes.php +++ b/src/Illuminate/Validation/Concerns/ValidatesAttributes.php @@ -358,7 +358,7 @@ protected function validateDateFormat($attribute, $value, $parameters) return false; } - $date = DateTime::createFromFormat($parameters[0], $value); + $date = DateTime::createFromFormat('!'.$parameters[0], $value); return $date && $date->format($parameters[0]) == $value; } diff --git a/tests/Validation/ValidationValidatorTest.php b/tests/Validation/ValidationValidatorTest.php index ddda0b42bfcf..ab8a687696e5 100755 --- a/tests/Validation/ValidationValidatorTest.php +++ b/tests/Validation/ValidationValidatorTest.php @@ -2144,6 +2144,9 @@ public function testValidateDateAndFormat() $v = new Validator($trans, ['x' => '00-01-01'], ['x' => 'date_format:Y-m-d']); $this->assertTrue($v->fails()); + $v = new Validator($trans, ['x' => '2000-02'], ['x' => 'date_format:Y-m']); + $this->assertTrue($v->passes()); + $v = new Validator($trans, ['x' => ['Not', 'a', 'date']], ['x' => 'date_format:Y-m-d']); $this->assertTrue($v->fails());