我有一个简单的ZF表单,其中包含一个哈希元素:
$hash = new Zend_Form_Element_Hash('hash');
$hash->setSalt('hf823hflw03j');
$hash->addErrorMessage('Form must not be resubmitted');
这没关系,但是如果我选择去除所有装饰器并使用以下格式化表单:
$this->setDecorators( array( array('ViewScript', array('viewScript' => '_form_register.phtml'))));
然后似乎每次提交时都会更新哈希值,因此不起作用。
此外,PHPunit认为表单元素哈希无效,因此不测试表单处理。
有没有解决方案?
答案 0 :(得分:0)
你真的需要使用viewScript Decorator吗?否则尝试使用它:
$this->setDecorators(array('ViewHelper','Errors'));
如果要更改错误的外观,可以创建自己的ErrorDecorator,然后按如下方式使用它:
$this->setDecorators(array('ViewHelper', new My_ErrorDecorator()));