Я использую 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"
}
}
]