我想知道如何验证symfony中的数组数组。 我的验证规则是:
到目前为止,我已经做到了:
$validator = Validation::createValidator();
$constraint = new Assert\Collection(array(
'user' => new Assert\NotBlank(),
'date' => new Assert\Date(),
'present' => new Assert\NotBlank()
));
$violations = $validator->validate($request->request->get('absences')[0], $constraint);
但是问题在于它仅允许验证单个数组,例如
$request->request->get('absences')[0]
。
这是数组的样子:
答案 0 :(得分:3)
您必须将Collection
约束放在All约束内:
当应用于数组(或Traversable对象)时,此约束允许您将约束集合应用于数组的每个元素。
因此,您的代码可能看起来像这样:
$constraint = new Assert\All(['constraints' => [
new Assert\Collection([
'user' => new Assert\NotBlank(),
'date' => new Assert\Date(),
'present' => new Assert\NotBlank()
])
]);