Zend Framework密码字段呈现为' text'而不是密码'

时间:2014-11-04 14:47:57

标签: php html forms zend-framework2

我通过示例跟随Zend Framework 2.0,现在正在处理Forms章节。除了我的密码'以外,一切似乎都运行正常。并确认密码'字段似乎没有正确呈现。以下是我正在定义密码字段

RegisterForm.php文件的摘录
class RegisterForm extends Form 
{
public function __construct($name = null) 
{
    parent::__construct('Register');
    $this->setAttribute('method', 'post');
    $this->setAttribute('enctype', 'multipart/form-data');

       ...

        $this->add(array(
       'name' => 'password',
        'attributes' => array(
            'type' => 'password',
        ),
        'options' => array(
            'label' => 'Password',
        ),
        'attributes' => array(
            'required' => 'required'
        ),
        'filters' => array(
            array('name' => 'StringTrim'),
        ),
    ));

但是当它在浏览器中呈现时,我在查看页面源时会得到这个...

<dd><input name="password" required="required" type="text" value=""></dd>

我很确定我已经正确地从书中得到了代码,但是我不确定是否还有另一个步骤,我不小心覆盖了RegisterForm .php文件。

2 个答案:

答案 0 :(得分:2)

为什么要覆盖你的属性?它应该是:

    $this->add(array(
        'name' => 'password',
        'options' => array(
            'label' => 'Password',
        ),
        'attributes' => array(
            'type' => 'password',
            'required' => 'required'
        ),
        'filters' => array(
             array('name' => 'StringTrim'),
        ),
    ));

答案 1 :(得分:0)

'attributes' => array(
    'type' => 'password',
),
// ...
'attributes' => array(
    'required' => 'required'
),

想一想......