ZendForm:对非对象的成员函数setValue()的调用



我有这个错误:

对中非对象的成员函数setValue()的调用

当我尝试用存储的数据填充表单时。最奇怪的是,如果我在其他形式上使用相同的方法,效果会很好。

我的代码是:

关于zend形式摘要:

class App_Form_BootstrapForm extends Zend_Form
{
    public function __construct($options = null)
    {
        // decorator style
    }
    public function populate($data)
    {
        foreach ($data as $field => $value) {
            $this->{$field}->setValue($value);
        }
        return $this;
    }
}

这是我的表格:

class Application_Form_Admin_Pneumatico_Pneumatico extends App_Form_BootstrapForm
{
    public function init()
    {
        $this->setAttrib("vertical", true);
        $this->setMethod('post');
        $this->setName('pneumatico');
        $this->setAction('');
        $this->setAttrib('enctype', 'multipart/form-data');
        $this->addElement('text', 'codice', array(
            'filters' => array('StringTrim'),
            'validators' => array(
                array('StringLength', true, array(3, 50))
            ),
            'required' => true,
            'placeholder' => 'Codice prodotto',
            'class' => 'form-control',
            'label' => 'Codice (*)'
        ));
        // other form elements
    }
}

我试图将表单和要插入的值传递给视图,然后使用populate,但我也遇到了同样的错误。在将其发送到视图之前,我曾尝试在控制器中执行此操作,但我遇到了同样的错误。

有人能帮我吗?

您的错误应该来自此处的populate函数

$this->{$field}->setValue($value);

并且如果该CCD_ 2数组中的键之一不是形式值,则CCD_。

首先检查数据数组中的所有键。

最新更新