パスワードが要件を満たしていない場合、検証サマリーのデフォルトメッセージを変更するにはどうすればよいですか?現在のメッセージが表示さはパスワード検証のためにMVCのバリデーションサマリーテキストを変更する
ある「パスワードは、少なくとも一桁( 『0』 - 『9』)を有していなければならない。パスワードは、少なくとも一つの大文字( 『A』 - 『Z』)を有していなければなりません。」
このテキストを別のものに変更したいとします。
パスワードが要件を満たしていない場合、検証サマリーのデフォルトメッセージを変更するにはどうすればよいですか?現在のメッセージが表示さはパスワード検証のためにMVCのバリデーションサマリーテキストを変更する
ある「パスワードは、少なくとも一桁( 『0』 - 『9』)を有していなければならない。パスワードは、少なくとも一つの大文字( 『A』 - 『Z』)を有していなければなりません。」
このテキストを別のものに変更したいとします。
私はそれを理解しました。これを行うのが正しい方法だと思います。しかしここに私のコードです。私は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$.");
}
ですが、今ではさまざまなタイプのエラーに対して同じエラーメッセージが使用されています。私はAlexBが提案したものを試してみるつもりです – Iorivera
あなたはまた、あなたの例では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
メソッドを書き込む必要はありません。
フレームワークは、ビューモデルのpasswordプロパティのデータ注釈を使用してエラーメッセージを生成します。そこから始めよう。 – Shyju
私はそれを持っており、それはパスワードフィールドの真上に表示されます。私が変更しようとしているのは、検証サマリのエラーメッセージです。 HTML.ValidationSummaryヘルパーを使用する場合。上記のテキストを見つけることができません。ソリューション全体でfindを実行してください。 – Iorivera
あなたが探しているテキストは、あなたの 'DataAnnotation'のデフォルトの' ErrorMessage'プロパティです。あなたは簡単にそれをカスタムすることができます、私の答えを参照してください。 – AlexB