diff --git a/src/Illuminate/Validation/Validator.php b/src/Illuminate/Validation/Validator.php index a8184f218d99..ac07ebb8203b 100755 --- a/src/Illuminate/Validation/Validator.php +++ b/src/Illuminate/Validation/Validator.php @@ -6,6 +6,7 @@ use DateTime; use Countable; use Exception; +use Throwable; use DateTimeZone; use RuntimeException; use DateTimeInterface; @@ -1976,6 +1977,8 @@ protected function validateTimezone($attribute, $value) new DateTimeZone($value); } catch (Exception $e) { return false; + } catch (Throwable $e) { + return false; } return true; diff --git a/tests/Validation/ValidationValidatorTest.php b/tests/Validation/ValidationValidatorTest.php index 1519cc1b342b..2bec30bbc86f 100755 --- a/tests/Validation/ValidationValidatorTest.php +++ b/tests/Validation/ValidationValidatorTest.php @@ -2063,6 +2063,9 @@ public function testValidateTimezone() $v = new Validator($trans, ['foo' => 'GMT'], ['foo' => 'Timezone']); $this->assertTrue($v->passes()); + + $v = new Validator($trans, ['foo' => ['this_is_not_a_timezone']], ['foo' => 'Timezone']); + $this->assertFalse($v->passes()); } public function testValidateRegex()