2014-11-04 78 views
0

我正在通過示例跟隨Zend Framework 2.0,現在正在處理Forms章節。似乎一切似乎工作正常,除了我的'密碼'和'確認密碼'字段似乎不能正確呈現。這裏是我定義的密碼字段Zend Framework密碼字段呈現爲'文字'而不是'密碼'

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'), 
     ), 
    )); 

但是當它在瀏覽器中呈現,我得到這個,當我查看網頁源我RegisterForm.php文件的摘錄...

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

我很確定我已經正確地從書中得到了代碼,但是我不確定是否有另一個步驟,我不小心覆蓋了RegisterForm.php文件。

回答

2

爲什麼你重寫你的屬性?它應該是:

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

啊哈!這是有道理的。這是完美的。非常感謝你。 – cchapman 2014-11-04 15:00:44

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

認爲第二...