2012-04-01 115 views
1

我在視圖模型有這樣的屬性:客戶端驗證我的電子郵件地址

[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?

謝謝。

回答

相關問題