使用 Visual Studio 2013.4(Visual Studio 2013 更新 4)我创建了一个常规的 ASP.NET MVC 5 项目,其中包含个人用户帐户身份验证配置。 Visual Studio 已经为我构建了所有用户注册和登录功能,并且运行良好。
如何在注册页面上实现以下规则的客户端验证:没有已注册的用户使用相同的电子邮件?
最佳答案
你可以使用 RemoteAttribute使用服务器回调执行客户端验证。
1) 将以下方法添加到AccountController
:
[AllowAnonymous]
public async Task<JsonResult> UserAlreadyExistsAsync(string email)
{
var result =
await userManager.FindByNameAsync(email) ??
await userManager.FindByEmailAsync(email);
return Json(result == null, JsonRequestBehavior.AllowGet);
}
2) 将Remote
属性添加到RegisterViewModel
类的Email
属性:
[Remote("UserAlreadyExistsAsync", "Account", ErrorMessage = "User with this Email already exists")]
public string Email { get; set; }
其中 "Account"
是服务 Controller 的名称,"UserAlreadyExistsAsync"
是它的操作名称。
关于c# - 如何检查用户是否已存在于 ASP.NET MVC 5 的客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28505294/