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 に答える