Zend Form:在非对象上调用成员函数 setValue()
Zend Form: Call to a member function setValue() on a non-object
我有这个错误:
Call to a member function setValue() on a non-object in
当我尝试用我存储的数据填充表单时。最奇怪的是,如果我在其他表格上使用相同的方法,它工作正常。
我的代码是:
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
函数
$this->{$field}->setValue($value);
并且如果 $data
数组中的键之一不是表单值 $this->{$field}
将导致 非对象 错误。
首先检查数据数组中的所有键。
我有这个错误:
Call to a member function setValue() on a non-object in
当我尝试用我存储的数据填充表单时。最奇怪的是,如果我在其他表格上使用相同的方法,它工作正常。
我的代码是:
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
函数
$this->{$field}->setValue($value);
并且如果 $data
数组中的键之一不是表单值 $this->{$field}
将导致 非对象 错误。
首先检查数据数组中的所有键。