Symfony 4.1 - проверьте одно поле, чтобы проверить, есть ли адрес электронной почты или номер телефона - PullRequest
0 голосов
/ 08 июня 2018

Я использую Symfony 4.1 и хочу подтвердить одно поле, идентификатор имени, оно может принимать адрес электронной почты или один номер телефона.

Поэтому я хочу, чтобы действительным было, если поле является адресом электронной почты, или если поленомер телефона.

$constraint = new Assert\Collection([
    'op'    => new Assert\Required([
        new Assert\Choice(['choices' => Operators::toArray()]),
    ]),
    'value' => [
        new Assert\Required([
            new Assert\Collection([
                'identifier' => [
                    new Assert\Email(),
                ],
            ]),
        ]),
    ],
]);

return $this->validator->validate($data, $constraint);

Отправляемое тело:

[
    {
        "op": "add",
        "value":  {
            "identifier": "john.doe@example.com",
            "identifierType": "email"
        }
    },
    {
        "op": "add",
        "value":  {
            "identifier": "+33600000000",
            "identifierType": "phone"
        }
    }
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...