1

我有一个电子邮件设置表单的代码,用户将输入电子邮件地址、密码等。

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

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

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

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

这里应该做什么?

4

1 回答 1

0

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

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

于 2013-01-16T21:17:18.937 回答