2017-11-15 12 views
0

パスワードが要件を満たしていない場合、検証サマリーのデフォルトメッセージを変更するにはどうすればよいですか?現在のメッセージが表示さはパスワード検証のためにMVCのバリデーションサマリーテキストを変更する

ある「パスワードは、少なくとも一桁( 『0』 - 『9』)を有していなければならない。パスワードは、少なくとも一つの大文字( 『A』 - 『Z』)を有していなければなりません。」

このテキストを別のものに変更したいとします。

+1

フレームワークは、ビューモデルのpasswordプロパティのデータ注釈を使用してエラーメッセージを生成します。そこから始めよう。 – Shyju

+0

私はそれを持っており、それはパスワードフィールドの真上に表示されます。私が変更しようとしているのは、検証サマリのエラーメッセージです。 HTML.ValidationSummaryヘルパーを使用する場合。上記のテキストを見つけることができません。ソリューション全体でfindを実行してください。 – Iorivera

+0

あなたが探しているテキストは、あなたの 'DataAnnotation'のデフォルトの' ErrorMessage'プロパティです。あなたは簡単にそれをカスタムすることができます、私の答えを参照してください。 – AlexB

答えて

0

私はそれを理解しました。これを行うのが正しい方法だと思います。しかしここに私のコードです。私は1行をコメントアウトし、その下の1行に置き換えました。

private void AddErrors(IdentityResult result) 
     { 
      foreach (var error in result.Errors) 
      { 
       //ModelState.AddModelError("", error); 
       ModelState.AddModelError("", "PASSWORDS MUST BE AT LEAST 6 CHARACTERS LONG, WITH AT LEAST ONE NUMBER, AND ONE NON LETTER OR DIGIT SUCH AS %, #, @, !, AND *. AN EXAMPLE: PASSWORD1$."); 
      } 
+0

ですが、今ではさまざまなタイプのエラーに対して同じエラーメッセージが使用されています。私はAlexBが提案したものを試してみるつもりです – Iorivera

0

あなたはまた、あなたの例ではDataAnnotations

を使用することができ、あなたが使用することができます。

// ~YourModelFile.cs 

[RegularExpression(@"^[A-Z0-9]{6,}$", ErrorMessage = "Password must be at least 6 characters long")] 
public string Password { get; set; } 

興味深いポイントがResourcesファイルに配置することができるErrorMessageである、あなたはそれを表示することができますので、複数の言語。
さらに、カスタムAddErrorメソッドを書き込む必要はありません。

関連する問題