Пример кода:
$dataContent = json_decode($request->getContent(), true);
$dataToCheck = [
'name' => [
new Assert\Required(),
new Assert\NotBlank(),
new Assert\Type('string'),
new Assert\Length(['min' => 4]),
],
'nick' => [
new Assert\Required(),
new Assert\NotBlank(),
new Assert\Type('string'),
new Assert\Length(['min' => 4]),
],
'email' => [
new Assert\Required(),
new Assert\NotBlank(),
new Assert\Email(),
],
'roleInCompany' => [
new Assert\Required(),
new Assert\NotBlank(),
new Assert\Type('string'),
new Assert\Choice(['choices' => ['manager',''supervisor','team leader']]),
],
'task' => [
new Assert\Required(),
new Assert\NotBlank(),
new Assert\Type('string'),
]
]
$constraint = new Assert\Collection($dataToCheck);
$violations = $validator->validate($dataContent, $constraint);
В приведенном выше примере я хотел бы проверить 'задачу', только если для 'roleInCompany' установлено значение 'supervisor'.В другом случае проверка 'задачи' должна быть пропущена.Я не могу использовать класс сущностей, поэтому мне приходится работать только с данными, как в примере, который я опубликовал.
Пожалуйста, помогите мне, как это сделать.Спасибо.