如果未验证 zend 表单,如何填充数据?

How to populate data if zend form is not validated?

module.config 包含表单,注入控制器

'passwordForm' => function($sm){
    $form = new \Application\Form\PasswordForm();

    $form->setInputFilter(new \Application\Form\PasswordInputFilter());

    return $form;
},

控制器:

if($this->getRequest()->isPost()){
    $form->setData($this->getRequest()->getPost());

    if($form->isValid()){
        //ok
    }
}
return array('form' => $form);

但是,如果表单未经验证,我会在表单视图中看到空白字段 <?=$this->formRow($this->form->get('passwordOld'));?>。如果我回显它的值,我会看到它显示:<?php var_dump($this->form->get('passwordOld')->getValue());?>

如何使未验证表单的值可见?关键是表单没有绑定任何对象。

出于安全原因,密码表单元素是有意这样做的。
您绝不能(重新)使用密码填充表单。