我有这个错误:
对中非对象的成员函数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_。
首先检查数据数组中的所有键。