Custom Email Attribute在客户端不起作用原因
原文发布时间为:2011-07-16 —— 来源于本人的百度文章 [由搬家工具导入]
Custom Email Attribute在客户端不起作用原因,就是未实现 IClientValidatable 接口。必须实现这个接口,才可以。如下:
public class EmailAttribute : RegularExpressionAttribute, IClientValidatable
{
public EmailAttribute()
: base(@"^([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})$")
{
}
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
{
var rule = new ModelClientValidationRegexRule(this.ErrorMessageString, base.Pattern);
return new[] { rule };
}
}
http://haacked.com/archive/2009/11/19/aspnetmvc2-custom-validation.aspx