Утверждение Симфони
<?php
require_once '../vendor/autoload.php';
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\Validation;
$validator = Validation::createValidator();
$input = [
//'name' => [],
];
$notNestedConstraint = new Assert\Collection(
[
'first_name' => new Assert\Required(),
'last_name' => new Assert\Required(),
],
);
$nestedConstraint = new Assert\Collection(
[
'name' => $notNestedConstraint,
]
);
$items = [];
$constraint = (array_key_exists('name', $input)) ? $nestedConstraint: $notNestedConstraint
$violations = $validator->validate($input, $constraint);
foreach ($violations as $violation) {
$items[] = [
'path' => $violation->getPropertyPath(),
'message' => $violation->getMessage(),
];
}
var_dump($items);
SECRET MYSTERY