asp.net-core - 如何在新用户注册时修复 EntityValidationError?
问题描述
我用个人用户帐户创建了一个新项目并添加了 2 个属性(显示名称和用户名(在代码显示名称/登录用户名中)),而显示名称没有给我任何问题,登录用户名显然是程序的问题。
我尝试将其添加到迁移中,我尝试在没有 LoginUsername 的情况下执行此操作,但这不是我想要的,我尝试在线搜索无济于事。
有错误的部分是
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Register(RegisterViewModel model)
{
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.LoginUsername, Email = model.Email, DisplayName = model.DisplayName };
var result = await UserManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false);
return RedirectToAction("Index", "Home");
}
AddErrors(result);
}
return View(model);
}
我的 RegisterViewModel 包括
public class RegisterViewModel
{
[Required]
[Display(Name = "Display name")]
public string DisplayName { get; set; }
[Required]
[Display(Name = "Username")]
public string LoginUsername { get; set; }
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }
}
我不知道仍然缺少哪些信息,请告诉我这里还有什么需要添加的。
我想要的是注册包含一个实际的用户名,而不仅仅是电子邮件,这也将用于登录。相反,我收到了错误消息。
帮助将不胜感激。:)
已解决:我没有使用 IdentityFramework 提供的标准用户名,应用程序无法用数据填充两个用户名道具,但由于它们都是必需的,因此无法保存帐户。所以我不小心做了一个不必要的第二个属性。
解决方案
推荐阅读
- mysql - 移除子级时移除父级
- sql - Postgres 如何将 json 数组解压缩成列然后重新打包,但保留数据类型?
- python - 在python中导入但未使用
- swift - 比较两个 UIColor DynamicProvider (iOS13) 返回 False
- node.js - nodemon 应用程序崩溃 - 在启动之前等待文件更改... nodejs
- azure - 将数据从 Azure Linux VM 上传到 Azure Blob 的方法
- excel - 如何提取第一个 Google 搜索结果 URL?
- android - 更改方向后,Android BottomAppBar 不会隐藏在滚动上
- c# - 未调用 WaitForSeconds
- linux - 将文件远程复制到所有主机名的同一目录