【发布时间】:2011-12-08 12:29:52
【问题描述】:
我们管理着几个 ASP.NET MVC 客户端网站,它们都使用如下数据注释来验证客户电子邮件地址(为了便于阅读,我没有在此处包含正则表达式):
[Required(ErrorMessage="Email is required")]
[RegularExpression(@"MYREGEX", ErrorMessage = "Email address is not valid")]
public string Email { get; set; }
我想做的是集中这个正则表达式,这样如果我们对其进行更改,所有站点都会立即获取它,而我们不必在每个站点中手动更改它。
问题是数据注释的正则表达式参数必须是一个常量,所以我无法分配我在运行时从配置文件或数据库中检索到的值(这是我的第一个想法)。
任何人都可以帮助我解决这个问题 - 或者如果失败了,另一种方法可以实现相同的目标吗?或者这是否只需要我们编写一个专门的自定义验证属性来接受非常量值?
【问题讨论】:
-
[EmailAddress(ErrorMessage="Not a valid Email Address")]已包含在System.ComponentModel.DataAnnotations.dll中
标签: regex asp.net-mvc-3 validation dynamic data-annotations