2016-08-08 24 views
1

以下のように私は電子メールのプロパティを持つこのモデルを持っている:そして、私は一例でmyemailとしてビューにこれを表示したいASP.NET MVCにModelState検証

[Required] 
[EmailAddress] 
[Display(Name = "Email")] 
public string Email { get; set; } 

はドットコム。だから私はビューにモデルを渡す前に私は電子メールをフォーマットした。

私の問題は、いくつかの変更後にポストバックすると、適切な電子メールフォーマットではないため、ModelState.IsValidが失敗するということです。 ModelState.IsValidを呼び出す前に電子メールを[email protected]に再フォーマットしても、それでも失敗します。

どうすればよいですか?

私は2つの選択肢があります。まずEmailAddress属性を削除して文字列として扱うようにします。次に、このModelState.Remove( "Email")を使用します。 2つ目は、私が思う必要な検証を削除します。

アドバイスありがとうございます。

答えて

1

私はビューにモデルを渡す前に、私は電子メールをフォーマットしました。その場合

、直接Emailプロパティをフォーマットし、代わりにあなたのモデルに別のプロパティ(非必須/オプション)を持っていませんpublic string FormattedEmail { get; set; }を言うと、フォーマットしたEメールを保持し、あなたに同じを使用して、そのプロパティを使用しますビュー。