Задать вопрос

Как валидировать внутренний массив в Symfony 4?

Всем привет! Идет запрос примерно с таким телом
{
	"subject": "subj",
	"data": "text",
	"toEmail": [
		"sgs",
		"3434"
	]
}


Валидация происходит таким образом
$constraint = new Assert\Collection(
            [
                'fields' => [
                    'subject' => [
                        new Assert\NotBlank(),
                        new Assert\Type('string'),
                        new Assert\Length(['min' => 2, 'max' => 255])
                    ],
                    'data' => [
                        new Assert\NotBlank(),
                        new Assert\Type('string'),
                        new Assert\Length(['min' => 2])
                    ],
                    'toEmail' => [
                        new Assert\NotBlank(),
                        new Assert\Type('array')
                    ]
                ]
            ]
        );
        $violations = $validator->validate($body, $constraint);


Но как еще проверить похожим способом, что в массиве toEmail именно email адреса определенной длины и тд?
  • Вопрос задан
  • 233 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
BoShurik
@BoShurik Куратор тега Symfony
Symfony developer
https://symfony.com/doc/current/reference/constrai...
'toEmail' => [
    new Assert\NotBlank(),
    new Assert\Type('array'),
    new Assert\All([
        'constraints' => [
            new Assert\NotBlank(),
            new Assert\Email(),
        ],
    ])
]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы