パスワード設定フォームでのパスワードの確認

エラーを設定されたパスワード形式に戻す方法はありますか?

パスワード確認フィールドの文字列がnewPasswordフィールドの文字列と同じであることを確認したい
users.onBeforeSetPassword イベントを聞いています。

craft()->on('users.onBeforeSetPassword', function(Event $event) {
      //Only do anything if it is a front end submission
       if(craft()->request->isSiteRequest())
       {
           $newPassword = craft()->request->getPost('newPassword');
           $passwordConfirm = craft()->request->getPost('passwordConfirm');
           if(isset($passwordConfirm) && strcmp($newPassword, $passwordConfirm) !== 0)
           {
               $event->params['user']->addErrors(array('newPassword' => Craft::t('Passwords do not match')));
               $event->performAction = false;
           }
       }
   });
  }
}

これにより、ユーザーはパスワードをリセットできなくなりますが、テンプレートにエラーメッセージは戻されません。ユーザーにエラーを表示できるように、変数をテンプレートに戻すにはどうすればよいですか?

ベストアンサー

You could use the
craft()->userSession->setFlash('your message
here');
functionality.

どのように動作するかについては、 this または
this
と答えていますが、イベントハンドラでメッセージを設定し、メッセージがある場合はテンプレートをチェックインし、メッセージがあれば表示します。

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です