我试图在ZF中创建一个表单1.这是我的表单类
class Application_Form_Album extends Zend_Form
{
public function init()
{
$this->setName('album');
#artist
$artist = new Zend_Form_Element_Text('artist');
$artist->setLabel('Artist')->setRequired(true)->addValidator('NotEmpty');
#title
$title = new Zend_Form_Element_Text('title');
$title->setLabel('Title')->setRequired(true)->addValidator('NotEmpty');
#submit
$submit = new Zend_Form_Element_Submit();
$submit->setAttribute('id','submitbutton');
$this->addElements(array($artist,$title,$submit));
}
}
和我的控制器动作
public function addAction()
{
$form = new Application_Form_Album();
$form->submit->setLabel('Add');
$this->view->form = $form;
}
和我的add.phtml
<?php echo $this->form;?>
但是我收到了这个错误。
Message: Zend_Form_Element requires each element to have a name
不确定我错过了什么。有人可以帮助我吗?
答案 0 :(得分:1)
您应该为每个表单元素提供name
。缺少提交的名称。 Zend表单从给定名称生成id
和name
个html标记
例如:
$submit = new Zend_Form_Element_Submit('submitbutton');
并删除
$submit->setAttribute('id','submitbutton');
线。