douxia5179
2010-07-25 14:15
浏览 30
已采纳

渲染Zend_Form错误

say i want to attach errors to my Zend_Form i found out the default decorators for forms do not include errors. so i tried adding my own ...

in my Zend_Form class

$this->setDecorators(array(
    'FormElements',
    array('Errors', array('placement' => 'PREPEND')),
    'Form'
));

but if there are no form errors, i get

Warning: htmlspecialchars() expects parameter 1 to be string, array given in D:\ResourceLibrary\Frameworks\ZendFramework\library\Zend\View\Abstract.php on line 897

am i doing the right thing? removing the line array('Errors', array('placement' => 'PREPEND')) fixes it, but why? if there are errors, it renders correctly without that error

UPDATE

the error seems to come from ~line 53 of Zend_Form_Decorator_Errors

$errors = $element->getMessages();

for forms i think it shld be

$errors = $element->getErrorMessages();
  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dtg78700 2010-07-25 22:12
    已采纳

    try:

    $this->setDecorators(array(
        'FormElements',
        array('FormErrors', array('placement' => 'PREPEND')),
        'Form'
    ));
    
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题