鉴于此输入:
[
'key' => 'value',
]
如何验证以确保:
key
属性存在- 它的值是一个数组(包含任意数量的元素)
我希望这个约束能起作用
$constraint = new Collection([
'key' => new Required([
new Type('array'),
new Collection([
'value' => new Required([
new NotBlank(),
]),
]),
]),
]);
但它会引发异常:
Symfony\Component\Validator\Exception\UnexpectedTypeException: Expected argument of type "array or Traversable and ArrayAccess", "string" given
我错过了什么?
PS:是symfony v2.7.1
PPS:澄清一下:我知道可以使用回调。如果我想从头开始手动重新实现验证——我一开始就不会使用 symfony。所以问题特别是关于结合现有约束而不是关于使用回调约束..