mirror of
https://github.com/Respect/Validation.git
synced 2024-04-30 13:42:48 +02:00
cc3bf86b2f
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.
44 lines
1.2 KiB
PHP
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
|