2016-10-04 5 views
4

ここは私のケースです。System.Web.Security.MembershipProvider(EPiServer)のパスワードポリシー検証のためのチャージエラーメッセージ

私はEPiServer 9を使用していますが、次のように私はSqlServerMembershipProviderを設定している:

<add name="SqlServerMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
        connectionStringName="EPiServerXYZ" 
        enablePasswordRetrieval="false" 
        enablePasswordReset="true" 
        requiresQuestionAndAnswer="false" 
        requiresUniqueEmail="false" 
        maxInvalidPasswordAttempts="5" 
        minRequiredPasswordLength="8" 
        minRequiredNonalphanumericCharacters="1" 
        passwordAttemptWindow="10" 
        applicationName="/" 
        passwordStrengthRegularExpression="^.*(?=.{8,})(?=.*\d)(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[^\w\d\s]).*$" /> 

すべてが正常に動作している、検証と異なるシナリオを。

私たちの問題は、メンバシッププロバイダによって表示されたエラーメッセージは、コンフィギュレーションを使用して作成され、それはのようなユーザーフレンドリーなメッセージではない与えて終わるということです。、8:

  • 「無効なパスワード、最小の長さを非英数字以外の文字:1 '
  • ' 'newPassword'の非英数字は '1'以上である必要があります。パラメータ名:newPassword '
  • 'パラメータ 'newPassword'は、configファイルで指定された正規表現と一致しません。パラメータ名:NEWPASSWORD」

error message password validation when creating user in episerver

私は本当にユーザーに、我々はパスワードを検証するために使用される正規表現を持っている要件のすべてを説明するカスタムエラーメッセージを設定するのが大好きです。

私がこれまで行ってきた唯一の方法は、現在のプロバイダを実装/拡張して、何かが間違っているときにカスタムエラーメッセージを設定することです。これを行う方法。

ありがとうございます!

+1

カスタムが最適なルートであり、ValidateUser()をオーバーライドする以外に多くの作業を行う必要がない場合があります。無効な場合は、カスタムメッセージを管理してください。まずはこれを試してみてください:http://stackoverflow.com/a/12094556/2779990 –

答えて

0

私はあなたのカスタムエラーメッセージの考え方に同意します。

入力エラーが検出されるまで隠されているUIエラーメッセージでdivを表示することを検討してください。これは、入力テキストボックスの右側または送信ボタンの上に置くことができます。表示されるエラーメッセージは、検出された入力エラーによって異なります。

パスワード入力エラーの場合は、一般的なパスワードエラーメッセージを定義し、質問に記載されているパスワード入力要件を列挙します。

ユーザー名と電子メールアドレスの入力エラーに対して追加のエラーメッセージが追加される可能性があります。

+1

スクリーンショットはOOTB Episerverの機能です。UIのその部分は容易にカスタマイズできません。 :/私は、デフォルトのエラーメッセージをオーバーライドするカスタム実装が最も簡単なアプローチだと考えています。 –

+0

良い点、エラーメッセージのための新しいdivの作成はEpiserverのために実行可能でないかもしれません。 Episerverにカスタムエラーメッセージを表示する手段があることを願っていますが、私はそうは分かりません。 – JohnH

関連する問題