У меня есть этот атрибут в моей модели представления:
[CustomRequired, EmailRegex]
[Display(Name = "KeepInformedPersonMail", ResourceType = typeof (UserResource))]
public string Email { get; set; }
EmailRegex выглядит следующим образом:
public class EmailRegexAttribute : RegularExpressionAttribute
{
private const string EmailPattern =
@"^([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 EmailRegexAttribute()
: base(EmailPattern)
{
ErrorMessageResourceType = typeof(UserResource);
ErrorMessageResourceName = "InvalidEmail";
}
}
Он работает для проверки на стороне сервера, но не на стороне клиента.
Если я заменим EmailRegex на следующий, он будет работать как на стороне клиента, так и на сервере:
[CustomRequired]
[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")]
[Display(Name = "KeepInformedPersonMail", ResourceType = typeof (UserResource))]
public string Email { get; set; }
Может ли кто-нибудь объяснить мне, как я могу пройти проверку на стороне клиента и сервера для моего начального EmailRegex?
Спасибо.