如何在ZF 1中显示两个密码字段?

时间:2016-10-04 10:25:45

标签: php zend-framework

所以,我遇到了 Zend Framework 1.12 的一个小问题,我不知道如何解决它:

我获得了一个相当简单的注册用户表单。但是,我希望它显示2个密码字段,一个用于密码,另一个用于确认。显然,我希望它是密码字段而不是文本字段,所以我做了以下内容:

public function init()
{
    $this->setName('user');

    ... few fields which do work fine ...

    $password = new Zend_Form_Element_Password('password');
    $password->setLabel('Password')
        ->setRequired(true);

    $passwordConfirm = new Zend_Form_Element_Password('password');
    $passwordConfirm->setLabel('Confirm password')
                    ->setRequired(true);

    $submit = new Zend_Form_Element_Submit('submit');
    $submit->setAttrib('id', 'submitbutton');

    $this->addElements(array($id, $username, $prename, $surname, $password, $passwordConfirm, $email, $gender, $submit));
}

然而,一旦打印出来,表格就像这样:

this document

当我交换$password$passwordConfirm时,会显示$password的标签。所以我假设每个密码字段都覆盖了前一个密码字段。

如何在一个表单中显示两个密码字段?或者我真的必须为此目的构建2个表单吗?

1 个答案:

答案 0 :(得分:1)

您应该为密码确认选择不同的名称,例如

$passwordConfirm = new Zend_Form_Element_Password('passwordconfirm');