From 61e2b7a787a07e18322dcce5e44720bd51ed56dc Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Fri, 17 Nov 2023 18:09:20 +0000 Subject: [PATCH] feat: more phone validation --- src/Appwrite/Auth/Validator/Phone.php | 2 +- tests/unit/Auth/Validator/PhoneTest.php | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Appwrite/Auth/Validator/Phone.php b/src/Appwrite/Auth/Validator/Phone.php index 32c3ca3398..def9a8bdc1 100644 --- a/src/Appwrite/Auth/Validator/Phone.php +++ b/src/Appwrite/Auth/Validator/Phone.php @@ -32,7 +32,7 @@ class Phone extends Validator */ public function isValid($value): bool { - return is_string($value) && !!\preg_match('/^\+[1-9]\d{1,14}$/', $value); + return is_string($value) && !!\preg_match('/^\+[1-9]\d{6,14}$/', $value); } /** diff --git a/tests/unit/Auth/Validator/PhoneTest.php b/tests/unit/Auth/Validator/PhoneTest.php index 7bfa8db477..0bb0dd1fca 100644 --- a/tests/unit/Auth/Validator/PhoneTest.php +++ b/tests/unit/Auth/Validator/PhoneTest.php @@ -20,13 +20,20 @@ class PhoneTest extends TestCase $this->assertEquals($this->object->isValid(null), false); $this->assertEquals($this->object->isValid(''), false); $this->assertEquals($this->object->isValid('+1'), false); + $this->assertEquals($this->object->isValid('+14'), false); + $this->assertEquals($this->object->isValid('+141'), false); + $this->assertEquals($this->object->isValid('+1415'), false); + $this->assertEquals($this->object->isValid('+14155'), false); + $this->assertEquals($this->object->isValid('+141555'), false); $this->assertEquals($this->object->isValid('8989829304'), false); $this->assertEquals($this->object->isValid('786-307-3615'), false); $this->assertEquals($this->object->isValid('+16308A520397'), false); $this->assertEquals($this->object->isValid('+0415553452342'), false); $this->assertEquals($this->object->isValid('+14 155 5524564'), false); + $this->assertEquals($this->object->isValid('+1415555245634543'), false); $this->assertEquals($this->object->isValid(+14155552456), false); + $this->assertEquals($this->object->isValid('+1415555'), true); $this->assertEquals($this->object->isValid('+14155552'), true); $this->assertEquals($this->object->isValid('+141555526'), true); $this->assertEquals($this->object->isValid('+16308520394'), true); @@ -34,5 +41,6 @@ class PhoneTest extends TestCase $this->assertEquals($this->object->isValid('+5511552563253'), true); $this->assertEquals($this->object->isValid('+55115525632534'), true); $this->assertEquals($this->object->isValid('+919367788755111'), true); + } }