我在注册表单中想要使用MVC正则表达式进行一些客户端验证,但是它不起作用...以下是模型代码的一部分:
[Required]
[RegularExpression(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", ErrorMessage = "Please enter a valid e-mail adress")]
[DataType(DataType.EmailAddress)]
[Display(Name = "Email address*")]
public string Email { get; set; }
但是信息无论如何都不想出现...这里出了什么问题?
编辑
在我的视图中我有这个
<div>
<div class="editor-label">
@Html.LabelFor(m => m.Email)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.Email)
@Html.ValidationMessageFor(m => m.Email)
</div>
</div>
我还在我的布局中包含了jQuery库
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
<link href="/Content/Site.css" rel="stylesheet" type="text/css" />
<script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
<script src="/Scripts/modernizr-1.7.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
<script type="text/javascript" src="/Scripts/jquery.validate.min.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
@RenderSection("Head")
</head>
foo+bar@test.com
、foo@bar.museum
,而且在应该失败时也不会失败,例如foo..x@test.com
。我建议您使用 **EmailVerify.NET**,这是一个强大的 .NET 电子邮件验证 组件,可以轻松与您的 ASP.NET MVC 项目集成。免责声明:我是 EmailVerify.NET 的首席开发人员。 - Efran Cobisi