Как я могу проверить ключи массива с помощью проверки Symfony?
Скажем, у меня есть следующее, и каждый ключ массива emails
- это идентификатор. Как я могу проверить их с помощью обратного вызова или какого-либо другого ограничения (скажем, например, ограничение регулярного выражения, а не обратный вызов)?
$input = [
'emails' => [
7 => '[email protected]',
12 => '[email protected]',
],
'user' => 'bob',
'amount' => 7,
];
use Symfony\Component\Validator\Validation;
use Symfony\Component\Validator\Constraints;
$validator = Validation::createValidator();
$constraint = new Constraints\Collection(array(
'emails' => new Constraints\All(array(
new Constraints\Email(),
)),
'user' => new Constraints\Regex('/[a-z]/i'),
'amount' => new Constraints\Range(['min' => 5, 'max' => 10]),
));
$violations = $validator->validateValue($input, $constraint);
echo $violations;
(используя последний dev-master symfony)