Php 阵列的Symfony2验证组
由于某些条件,我想使用验证组验证数组,但验证组似乎不会影响数组Php 阵列的Symfony2验证组,php,arrays,validation,symfony,Php,Arrays,Validation,Symfony,由于某些条件,我想使用验证组验证数组,但验证组似乎不会影响数组 $params = [ 'type' => 'a', 'province' => 'b', 'district' => 'c' ]; $constraints = new Collection([ 'type' => [new NotBlank()], 'province' => [new NotBlank(['groups' => ['selectio
$params = [
'type' => 'a',
'province' => 'b',
'district' => 'c'
];
$constraints = new Collection([
'type' => [new NotBlank()],
'province' => [new NotBlank(['groups' => ['selection']])],
'district' => [new NotBlank(['groups' => ['selection']])],
'distance' => [new NotBlank(['groups' => ['location']])],
'lat' => [new NotBlank(['groups' => ['location']])],
'lon' => [new NotBlank(['groups' => ['location']])],
]);
$errors = $this->container->get('validator')->validate($params, $constraints, ['selection']);
验证错误:
Array[distance]:
This field is missing. (code 1)
Array[lat]:
This field is missing. (code 1)
Array[lon]:
This field is missing. (code 1)
谢谢你的帮助 您需要像这样使用
'allowMissingFields'=>true,
:
$constraints = new Collection(
'allowMissingFields' => true,
'fields' => [
'type' => [new NotBlank()],
'province' => [new NotBlank(['groups' => ['selection']])],
'district' => [new NotBlank(['groups' => ['selection']])],
'distance' => [new NotBlank(['groups' => ['location']])],
'lat' => [new NotBlank(['groups' => ['location']])],
'lon' => [new NotBlank(['groups' => ['location']])],
]);
CollectionValidator正在验证约束NotBlank之前检查字段是否存在