我在Zend Framework(版本1.10.6)应用程序中为我的表单使用装饰器,并输出具有属性帮助的元素,W3C认为这些元素对HTML5 Doctype无效。
<input type="hidden" name="control" value="search" helper="formHidden" id="control">
W3C Validator给我这个错误: 此时元素输入上不允许使用属性助手。
答案 0 :(得分:0)
我发现这个问题没有找到工作,所以经过几个小时尝试不同的方法后,我发现更容易改变核心(是的,我知道不推荐它,但它仍然是一个解决方案)。
这是答案(隐藏输入):
在文件末尾你会找到这行代码
return $this->_hidden($name, $value, $attribs);
添加此代码之前
unset($attribs['helper']);
它的作用是从应用于输入隐藏元素的属性数组中删除辅助属性。
这同样适用于所有表单元素。
输入文字示例:
在文件的末尾,您会找到这些代码行
$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解决此问题