在zend框架2的字段中显示密码


show password in field in zend framework 2

我有一个在编辑模式下的表单。我们需要客户在这里输入账户密码。所以第一次密码字段是空白的。

但是在保存表单之后,当我们再次使用该记录进行编辑时,密码字段仍然显示为空白。我试图找到我使用代码"$form->get('sDbPassword')"从表单数组获得的所有值。但是它显示了"[value:protected] =>"。它甚至没有显示它在那个字段中有什么值

需要一些帮助。我是zend framework 2的新手。

提前感谢。

这很正常,因为出于安全原因,我们不会为类型为Zend'Form'Element'Password的表单元素填充值。因此,在您的客户提交带有密码的表单后,可以在表单验证$form->isValid()$form->getData()后接收值。

为了填充密码,您不能使用$form->populateValues($this->getRequest()->getPost())来填充表单元素密码值,zend将忽略此密码元素。

所以在保存后,您获取密码并将其直接传递给视图$viewModel->setVariable('pwd', $formData['userPassword']);,并手动将其传递给输入元素。

放在view元素中,然后

<input type="password" value="<?php echo $this->pwd; ?>" name="userPassword" />

,但我不建议这样做。密码应该是一堵坚固的安全墙,不要在这堵墙前面放梯子。