我想使用验证组验证数组,因为某些情况但验证组似乎不会影响数组?
<div id="exams">
<div class="intro" ui-view="exams.intro"></div>
<div class="auth" ui-view="exams.auth"></div>
</div>
验证错误:
$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']);
感谢您的帮助!
答案 0 :(得分:2)
你需要像这样使用'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']])],
]);
https://symfony.com/doc/2.7/reference/constraints/Collection.html
CollectionValidator在验证约束NotBlank之前检查字段是否存在。