2013-01-16 61 views
1

我有这个代码的电子邮件设置形成用户将输入电子邮件地址,密码等删除默认的密码值6 password_confirm

$form['mail_settings']['user_pass'] = array(
'#type' => 'password_confirm', 
'#description' => t('your password') 
); 

$form['mail_settings']['user_signature'] = array(
'#type' => 'textfield' 
'#description' => t('custm signature') 
); 

我想实现的是让用户能够随时更改自己的签名,而无需重新输入密码。

现在正在发生的事情是,每次我加载此设置页面时,都会有一个默认的密码和空白的密码确认。

因此,如果用户忘记再次输入他的密码,则表单显示错误。或者说,它会创建一个验证错误。

这里应该做些什么?

回答

0

想出了一个不同的解决方案。事实证明,我的浏览器的密码链(保存的密码)负责在密码字段中添加默认值。

解决方案只是,如果密码字段为空:使用旧密码更新密码;否则,如果不是空的,更新新密码。