c# - 使用单个用户帐户时如何在 AspNetUsers 表中设置 PhoneNumber
问题描述
我创建了一个新的 Asp.Net Web API 项目并使用了身份验证类型“个人用户帐户”,它创建了一个包含一些默认表的数据库。然后我成功地创建了一些带有电子邮件和密码的帐户。当用户注册时,我希望他们输入一个电子邮件地址、一个密码和一个电话号码,这应该将相应的值添加到 AspNetUsers 表中的相应列中。
我已成功添加电子邮件地址和密码,但如何添加电话号码?
到目前为止,我在帐户控制器中编辑了注册方法以提交电话号码
// POST api/Account/Register
[AllowAnonymous]
[Route("Register")]
public async Task<IHttpActionResult> Register(RegisterBindingModel model)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
var user = new ApplicationUser() { UserName = model.Email, Email = model.Email, PhoneNumber = model.PhoneNumber };
IdentityResult result = await UserManager.CreateAsync(user, model.Password);
if (!result.Succeeded)
{
return GetErrorResult(result);
}
return Ok();
}
我还编辑了 RegisterBindingModeldl 以合并 PhoneNumber 属性
public class RegisterBindingModel
{
[Required]
[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; }
[Required]
[StringLength(11, ErrorMessage = "The telephone number must be 11 characters long.", MinimumLength = 11)]
[DataType(DataType.PhoneNumber)]
[Display(Name = "Phone Number")]
public string PhoneNumber { get; set; }
}
当我使用邮递员提交电话号码时
{
"Email": "test@gmail.com",
"Password": ".Password123.",
"ConfirmPassword": ".Password123.",
"PhoneNumber": "01642333333"
}
用户被提交到数据库,它给出 200 响应并提交。当我在数据库中查看数据库时,出现了用户,但 PhoneNumber 为空。
如何添加具有 PhoneNumber 的用户?
解决方案
在您创建用户后在您的注册发布方法中尝试调用
await _usermanager.SetPhoneNumberAsync(user, model.PhoneNumber)
推荐阅读
- php - Woocommerce 按变体 ID 为每个返回产品元字段
- flutter - Flutter 转换不同类型的 Image Class
- r - 如何确定 R 中每个变量出现频率最高的单词?
- javascript - 如何使用 jQuery 将焦点设置到 CKEditor 5?
- scala - 使用Scala从表中提取特定数据?
- javascript - 将变量链接创建为超链接 javascript
- pyspark - 将字符串转换为 Pyspark 数据框
- java - 使用 Glide Android 上传多个图像的空指针异常
- flutter - 如何修改现有的自定义列表项并访问其修改后的值?
- java - 使 vim 使用我为 .java 文件中 JavaDoc 注释的注释指定的字体颜色