这是我的表格:个人资料表格
它有两个元素password和passwordConf
$this->password= new Zend_Form_Element_Password("password",array("label"=>"Password","required"=>true));
$this->passwordConf= new Zend_Form_Element_Password("confpassword",array("label"=>"Retype","required"=>true));
$this->passwordConf->addValidator("Identical",array("token"=>"password"));
$this->save=new Zend_Form_Element_Submit("save",array("label"=>"Change Password","class"=>"btn btn-primary"));
所以我在控制器中有一个这样的实例并将其传递给POST数据
$profileForm= new Application_Form_Profile();
if($_POST)
if($profileForm->isValid($_POST))
{
$membersTable= new Application_Model_DbTable_Members();
$member=$membersTable->find($this->user->id)->current();
$member->password=sha1($profileForm->getValue("password").$member->salt);
$this->_helper->flashMessenger(array("type"=>"success","content"=>"Password Changed!"));
$this->_redirect("");
$member->save();
}
$this->view->profileForm=$profileForm;
}
但出于某种原因,我收到了Zend Empty Error消息。我还注意到表单字段没有填充。 我检查了Chrome中的响应,看起来后期数据传输到页面就好了。甚至做了一个print_r(POST),甚至看起来很好,所有的数据花花公子。我在上面的代码块之前和之后做了那个,但是没有用。尽管传递了数据,但它不会填充表单。
PS:错误消息仅用于密码确认字段。密码字段工作正常
答案 0 :(得分:0)
这里的问题是类变量的名称和元素的名称必须匹配
$this->passwordConf= new Zend_Form_Element_Password("confpassword",array("label"=>"Retype","required"=>true));
即$this->passwordConf
和confpassword
不应该不同,否则会发生此错误