2013-11-03 55 views
16

如何在新的ASP.NET身份系統中使用電子郵件而不是用戶名?ASP.NET身份使用電子郵件而不是用戶名

我試圖改變RegisterViewModel類:

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

但是當我輸入一個電子郵件ADRESS我收到錯誤:

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

回答

21

您可以通過任一關閉有2個選項來解決這個問題該驗證程序,或創建您自己的UserValidator

你可以關閉它是這樣的:

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

我建議創建一個自定義的UserManager(例如AppUserManager:的UserManager)實例化時,設置本身的UserValidator這種方式。我這樣做是爲了在創建UserManager類時不必記得設置UserValidator,而只需要記住使用我的自定義AppUserManager類。 –

相關問題