Проверка коллекции Zend Framework

Я использую Zend Framework 3 и пытаюсь проверить форму с полем коллекции.

Моя форма имеет поле

$this->add([
'name' => 'domains',
'options' => [
'target_element' => [
'type' => Text::class
]
],
'type' => Collection::class
]);

Когда я отправляю форму, я получаю что-то вроде этого POST данные

[
'domains' => [
0 => 'first'
1 => 'second'
]
]

Я пытаюсь подтвердить это с помощью CollectionInputFilter как следующее

$filter = new InputFilter();
$filter->add([
'type' => CollectionInputFilter::class,
'options' => [
'input_filter' => [
'validators' => [
[
'name' => Hostname::class
]
]
]
]
], 'domains');

$filter->setData($data);

но я получаю исключение Zend\InputFilter\CollectionInputFilter::setData expects each item in a collection to be an array or Traversable; invalid item in collection of type string detected,

Что я делаю неправильно?

0

Решение

Я обнаружил, что ошибка была в использовании CollectionInputFilter, Я должен был использовать ArrayInput вместо.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]