2015-12-05 51 views
1

中的Zend框架的工作如何設置密碼值提起使用Zend形式

$this->setAttrib('enctype', 'multipart/form-data'); 
    $this->setName('user'); 
    $id = new Zend_Form_Element_Hidden('id'); 
    $id->addFilter('Int'); 
    $fname = new Zend_Form_Element_Text('fname'); 
    $fname->setLabel('Full Name') 
      ->setRequired(true) 
      ->addFilter('StripTags') 
      ->addFilter('StringTrim') 
      ->addValidator('NotEmpty'); 
    $email = new Zend_Form_Element_Text('email'); 
    $email->setLabel('Email Address') 
      ->setRequired(true) 
      ->addFilter('StripTags') 
      ->addFilter('StringTrim') 
      ->addValidator('NotEmpty'); 
    $add = new Zend_Form_Element_Text('add'); 
    $add->setLabel('Address') 
      ->setRequired(true) 
      ->addFilter('StripTags') 
      ->addFilter('StringTrim') 
      ->addValidator('NotEmpty'); 
    $pass = new Zend_Form_Element_Password('pass'); 
    $pass->setLabel('Password') 
      ->setRequired(true) 
      ->addFilter('StripTags') 
      ->addFilter('StringTrim') 
      ->addValidator('NotEmpty'); 

    $city = new Zend_Form_Element_Text('city'); 
    $city->setLabel('city') 
      ->setRequired(true) 
      ->addFilter('StripTags') 
      ->addFilter('StringTrim') 
      ->addValidator('NotEmpty'); 
    $img = new Zend_Form_Element_File('img'); 
    $img->setLabel('Profile picture') 
      ->setRequired(true); 


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

    // add element in form 
    $this->addElements(array($id, $fname, $email, $add, $pass, $city, $img, $submit)); 

這我編輯用戶的形式和我設置在控制器

$form = new Application_Form_User(); 
    $form->submit->setLabel('Save'); 
    $this->view->form = $form; 

    $id = $this->_getParam('id', 0); 
     if ($id > 0) { 
      $user = new Application_Model_DbTable_User(); 
      $info = $user->getUser($id); 
      //$form->populate($info); 
      $form->setDefaults($info); 

使用下面的代碼形式elemets值我使用$ form-> setDefaults($ info);方法設置表單字段的vlaue。此方法僅爲文本輸入類型設置值,但此方法不能設置輸入類型爲密碼的值。所以,我會爲輸入類型設置vlaue的密碼是什麼? 這是我的輸出畫面edit.php

 edit.php

回答

0

Zend公司不允許密碼字段進行自動填充。 Html type =「password」也會阻止瀏覽器支持自動完成。每次刷新頁面時都必須手動輸入密碼。

但是禁用字段使用自動完成。

$foo = new Zend_Form_Element_Text('foo', array( 
     'autocomplete' => 'off', 
    )); 

    // or... 
    $form->addElement('text', 'foo', array( 
     'autocomplete' => 'off', 
    )); 

    // or... 
    $element->autocomplete = 'off'; 
+0

我在編輯用戶表單中嘗試此代碼,它的工作原理。 $ pass-> renderPassword = true; $ pass-> setValue(「amt」); –

+0

如果您確定這是有效的,您必須爲自己的問題添加一個答案。讓別人分享一下。 –