J'ai cet attribut dans mon modèle de vue :
[CustomRequired, EmailRegex]
[Display(Name = "KeepInformedPersonMail", ResourceType = typeof (UserResource))]
public string Email { get; set; }
L'EmailRegex est comme ceci :
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";
}
}
Cela fonctionne pour la validation côté serveur mais pas côté client.
Si je remplace l'EmailRegex par ce qui suit, la validation côté client et côté serveur fonctionne :
[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; }
Quelqu'un peut-il m'expliquer comment procéder pour avoir une validation côté client et côté serveur pour mon EmailRegex initial ?
Merci.