Zend_Form_Element要求每个元素都有一个名称

时间:2014-12-11 12:42:17

标签: zend-framework zend-form

我试图在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

不确定我错过了什么。有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您应该为每个表单元素提供name。缺少提交的名称。 Zend表单从给定名称生成idname个html标记 例如:

$submit = new Zend_Form_Element_Submit('submitbutton');

并删除

$submit->setAttribute('id','submitbutton');

线。