respect-validation/tests/integration/issue-727.phpt
Alexandre Gomes Gaigalas cc3bf86b2f Use libphonenumber
Doing regex on phone numbers is not a great idea. This is a breaking
change, but a good one. Phone validation is now much stricter, and
allows choosing the country.
2023-02-19 00:19:10 -03:00

44 lines
1.2 KiB
PHP

--CREDITS--
Henrique Moody <henriquemoody@gmail.com>
--FILE--
<?php
declare(strict_types=1);
require 'vendor/autoload.php';
use Respect\Validation\Exceptions\PhoneException;
use Respect\Validation\Validator as v;
$work = new stdClass();
$work->number = '+61.(03) 4546 5498';
$work->countryCode = 61;
$work->primary = true;
$personal = new stdClass();
$personal->number = '123';
$personal->country = 61;
$personal->primary = false;
$phoneNumbers = new stdClass();
$phoneNumbers->personal = $personal;
$phoneNumbers->work = $work;
$validateThis = ['phoneNumbers' => $phoneNumbers];
try {
v::create()
->keyNested('phoneNumbers.personal.country', v::intType(), false)
->keyNested('phoneNumbers.personal.number', v::phone(), false)
->keyNested('phoneNumbers.personal.primary', v::boolType(), false)
->keyNested('phoneNumbers.work.country', v::intType(), false)
->keyNested('phoneNumbers.work.number', v::phone(), false)
->keyNested('phoneNumbers.work.primary', v::boolType(), false)
->check($validateThis);
} catch (PhoneException $exception) {
echo $exception->getMessage();
}
?>
--EXPECT--
phoneNumbers.personal.number must be a valid telephone number