ASP.NET MVC データ型属性を使用した電子メール アドレスの検証 質問する

ASP.NET MVC データ型属性を使用した電子メール アドレスの検証 質問する

電子メールの検証に関していくつか問題があります。

私のモデルでは:

[Required(ErrorMessage = "Field can't be empty")]
[DataType(DataType.EmailAddress, ErrorMessage = "E-mail is not valid")]
public string ReceiverMail { get; set; }

私からしてみれば:

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

@Html.TextBoxFor(m => m.ReceiverMail, new { @placeholder="E-mail"}) <br />
@Html.ValidationMessageFor(m => m.ReceiverMail)

現在、フィールドを空のままにすると、「フィールドを空にすることはできません」と正しく表示されます。ただし、「fwenrjfw」などの無効な電子メール アドレスを入力すると、フォームに「電子メールが無効です」と表示されません。

フォームで入力を電子メール アドレスとして検証するにはどうすればよいでしょうか? これに関して助けを求めています。

ベストアンサー1

.NET Framework 4.5 を使用している場合、解決策はEmailAddressAttribute内にある を使用することですSystem.ComponentModel.DataAnnotations

コードは次のようになります。

[Display(Name = "Email address")]
[Required(ErrorMessage = "The email address is required")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string Email { get; set; }

おすすめ記事