電子メールの検証に関していくつか問題があります。
私のモデルでは:
[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; }