2 votes

Validation côté client de mon adresse électronique

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.

0voto

Iridio Points 5978

Cette réponse devrait résoudre votre problème

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X