From 0dbfcfd5a9297509f2d43dbf4469e7bc9937fe73 Mon Sep 17 00:00:00 2001 From: Morten Hauberg Date: Thu, 10 Nov 2016 13:43:19 +0100 Subject: [PATCH] Catch Throwable in timezone validation --- src/Illuminate/Validation/Validator.php | 3 +++ tests/Validation/ValidationValidatorTest.php | 3 +++ 2 files changed, 6 insertions(+) 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()