c# - 如何检查用户是否已存在于 ASP.NET MVC 5 的客户端?

标签 c# asp.net asp.net-mvc asp.net-identity client-side-validation

使用 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/

相关文章:

c# - 如何将tiny MCE应用到C#中

c# - 使用 TPH 的 Entity Framework 的多级继承

asp.net - aspnet_regiis.exe 有什么作用

asp.net - 如何在没有 aspnet 身份的情况下使用 OWIN 表单例份验证

c# - 使用正则表达式获取html标签的变量值

c# - 如何在 Javascript 中读取页面历史记录?

c# - 使用 UpdatePanel 从内容页面更新 MasterPage 上的标签,无需完整回发

asp.net - 为什么部分回发 (UpdatePanel) 中的异常未记录到事件日志中

c# - ASP.NET MVC 2 + jQuery 灯箱 + 登录

asp.net-mvc - 添加基于策略的授权会跳过 JWT 持有者 token 身份验证检查吗?