Я думаю, что ZF не позволяет создавать отдельные входные текстовые поля с именем person[]
, хотя вы можете сделать это для всей формы или подчиненной формы. Тем не менее, это допускает нечто подобное. В частности, вы можете создать поля с именами person[0]
, person[1]
и т. Д.
Для этого вы можете сделать следующее:
$in1 = $this->createElement('text', '0');
$in2 = $this->createElement('text', '1');
$in1->setBelongsTo('person');
$in2->setBelongsTo('person');
Таким образом, вы обычно можете присоединять свои валидаторы, фильтры и т. Д. К $ in1 или $ in2, и они будут работать как положено. В вашем действии после проверки формы вы можете получить массив полей ввода текста этого человека:
$values = $yourForm->getValues();
var_dump($values['person']);
Интересно, что следующее НЕ сработает:
$in1 = $this->createElement('text', 'person[0]');
$in2 = $this->createElement('text', 'person[1]');
Надеюсь, это поможет вам.