2013-11-03 23 views
16

Yeni ASP.NET kimlik sisteminde kullanıcı adı yerine e-postayı nasıl kullanabilirim? ASP.NET kimliği kullanıcı adı yerine e-posta kullan

Ben RegisterViewModel sınıf değiştirmeye çalışmış:

[Display(Name = "Email address")] 
[Required(ErrorMessage = "The email address is required")] 
[EmailAddress(ErrorMessage = "Invalid Email Address")] 
public string UserName { get; set; } 

ama ben hatayı alıyorum bir posta adresi girdiğinizde:

User name [email protected] is invalid, can only contain letters or digits. 

cevap

21

Ya kapatarak bunu çözmek için 2 seçeneğiniz vardır Bu doğrulayıcı veya kendi UserValidator oluşturun.

Böyle kapatmak olabilir: örneği oluşturulan bu şekilde kendisini UserValidator ayarlar: (UserManager örneğin AppUserManager) Özel bir UserManager oluşturmanızı öneririz

UserManager.UserValidator = new UserValidator<TUser>(UserManager) 
            { 
             AllowOnlyAlphanumericUserNames = false 
            }; 
+3

. Bunu yapmak için UserManager sınıfını yenerken UserValidator'u ayarlamayı hatırlamak zorunda kalmam ve sadece özel AppUserManager sınıfımı kullanmayı hatırlamak zorundayım. –

İlgili konular