我在验证电子邮件时遇到了一些问题。
在我的模型中:
[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“,则表单不会显示”电子邮件无效“。
如何获取表单以验证输入是否为电子邮件地址?我想在这方面寻求一些帮助。
发布于 2013-09-22 06:59:21
如果你使用的是.NET Framework4.5,那么解决方案就是使用System.ComponentModel.DataAnnotations
内部的EmailAddressAttribute
。
您的代码应如下所示:
[Display(Name = "Email address")]
[Required(ErrorMessage = "The email address is required")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string Email { get; set; }
发布于 2013-08-17 05:30:06
尝试使用Html.EditorFor
帮助器方法而不是Html.TextBoxFor
。
发布于 2013-05-23 19:07:07
您需要使用RegularExpression属性,如下所示:
[RegularExpression("^[a-zA-Z0-9_\\.-]+@([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,6}$", ErrorMessage = "E-mail is not valid")]
并且不要删除[Required]
,因为[RegularExpression]
不会影响空字段。
https://stackoverflow.com/questions/16712043
复制相似问题