MVC中用户名中的非alpha数字字符
本文关键字:alpha 数字字符 用户 MVC | 更新日期: 2023-09-27 18:15:49
我成功地在我的用户名中获得非alpha数字字符,我现在遇到的问题是,当我尝试将角色分配给用户时,它正在抛出无效的用户名错误。它说"只能包含字母和数字。
这是我添加的内容,允许用户名中的字符;
public AccountController(UserManager<ApplicationUser> userManager)
{
UserManager = userManager;
var userValidator = UserManager.UserValidator as UserValidator<ApplicationUser>;
userValidator.AllowOnlyAlphanumericUserNames = false;
}
这就是我得到错误的地方;
public bool AddUserToRole(string userId, string roleName)
{
var um = new UserManager<ApplicationUser>(
new UserStore<ApplicationUser>(new ApplicationDbContext()));
var idResult = um.AddToRole(userId, roleName);
return idResult.Succeeded;
idResult。错误[0]= "用户名J.Blow无效,只能包含字母或数字。"
为什么我得到这个。我是否需要在其他地方更改用户名的有效性?
谢谢,提前。
克林特
根据您的代码,您正在创建UserManager
的新实例并在AddUserToRole
方法中使用它。因此忽略您在控制器中设置的UserManager
。
如果你重构你的代码,以便你可以使用一个实例化在你的控制器在你的AddUserToRole
方法,这应该工作。