【发布时间】:2011-08-19 15:43:33
【问题描述】:
我已尝试遵循谷歌搜索验证电子邮件地址的指南,并使用了以下内容:
[Required(ErrorMessage = "Email required.")]
[ValidateEmail(ErrorMessage = "Valid email required.")]
public string Email { get; set; }
这是属性类:
public class ValidateEmailAttribute : RegularExpressionAttribute
{
public ValidateEmailAttribute() :
base(@"^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$") {}
}
还发现谷歌搜索示例。
但是,我尝试了这个版本的电子邮件属性和另一个,但都没有阻止我在电子邮件字段中输入任何内容。我尝试只输入一个简单的名称,包含空格和所有内容,结果很好!
为什么不启动并阻止它? Required 属性有效,只是正则表达式无效。
【问题讨论】:
-
您是否独立于站点测试了正则表达式字符串?格式可能会爆炸。还要检查 javascript 错误。
-
把代码贴在你的action方法里,还需要的属性能用吗?
标签: asp.net asp.net-mvc-3 validation