Ничего из того, что я нашел об этой проблеме, не работает, поэтому после многих часов попыток использования различных подходов мне было проще сменить ядро (да, я знаю, что это не рекомендуется, но это все еще решение).
Вот ответ (для скрытого ввода):
- Перейти к Zend / View / Helper / FormHidden.php
в конце файла вы найдете эту строку кода
return $this->_hidden($name, $value, $attribs);
добавить этот код ДО это
unset($attribs['helper']);
Что он делает, так это удаляет вспомогательный атрибут из массива атрибутов, примененных к входному скрытому элементу.
То же самое относится ко всем элементам формы.
Пример для ввода текста:
- перейти к Zend / View / Helper / FormText.php
в конце файла вы найдете эти строки кода
$xhtml = '<input type="text"'
. ' name="' . $this->view->escape($name) . '"'
. ' id="' . $this->view->escape($id) . '"'
. ' value="' . $this->view->escape($value) . '"'
. $disabled
. $this->_htmlAttribs($attribs)
. $endTag;
return $xhtml;
добавить этот код ДО это
unset($attribs['helper']);
Делая это для всех элементов формы, мой веб-сайт прошел проверку W3C HTML5, поэтому я удовлетворен этим решением и надеюсь, что оно будет решено с помощью Zend Framework 2.0