@jblue. да, я вижу, что это не так уж прямолинейно. Но я думаю, что есть и другие возможности, которые можно рассмотреть. Можно было бы использовать подчиненные формы и пометить подчиненную форму ZF как массив (см. Предварительное использование ZF). Другой возможностью было бы генерировать больше входных данных в ZF и скрывать все, кроме первого. JS, чем просто показать все остальное, если это необходимо. Еще одно, было бы динамически создавать поля ввода для ZF в php. Если JS генерирует 10 полей ввода, то после отправки вы добавляете эти поля в форму Zend с необходимыми фильтрами (и т. Д.), Заполняете ее и проверяете, как обычно.

чном html мы могли бы иметь поле массива вродеperson[]

<input name="person[]" type="text" />
<input name="person[]" type="text" />
<input name="person[]" type="text" />

Насколько я знаю, у Zend_Form такого нет. Я читаюдругой ответ который предположил, что это может быть сделано с помощью декоратора, который добавит[] в нужном месте. Это код для этого конкретного вопроса

$html = ''; // some code html
$i = 0;
foreach ($element->getMultiOptions() as $value => $label){
    $html .= '<input type="checkbox" '
          .         'name="'.$element->getName().'[]" '
          .         'id="'$element->getName()'-'.$i.'" '
          .         'value="'.$value.'" />';
    $i++;
}
return $html;

Это выглядит как хорошее начало, но мне интересно, достаточно ли использовать декоратор. Возвращаемые значения должны быть правильно прочитаны и доставлены на сервер, а затем проверены на стороне сервера. Так что декоратор это неправильная идея? Будет ли пользовательский элемент иметь больше смысла здесь? Я не видел хороший пример, который показывает, как это можно сделать.

Ответы на вопрос(1)

Ваш ответ на вопрос