我有默认的 ASP.NET MVC 4 帐户注册 Web 表单。我正在尝试检查用户名是否已存在于数据库中。如果用户名存在,则应通知用户。为此,我正在使用远程验证(遵循本教程)。
首先,我更改了 RegisterModel 类:
[Required]
[Display(Name = "User name")]
[System.Web.Mvc.Remote("doesUserNameExist", "Account", HttpMethod = "POST", ErrorMessage = "User name already exists. Please enter a different user name.")]
public string UserName { get; set; }
然后我把它放到 AccountController 中:
[HttpPost]
public JsonResult doesUserNameExist(string UserName)
{
var user = Membership.GetUser(UserName);
return Json(user == null);
}
在注册视图中,我添加了以下两行:
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
当我点击“注册”按钮时,什么也没有发生:它没有转发到主页,也没有显示错误。
更新:我已经在 chrome 开发者工具中检查了这个表格。它给出了2个错误:
Uncaught ReferenceError: jQuery is not defined jquery.validate.min.js:46 (anonymous function) Uncaught ReferenceError: jQuery is not defined jquery.validate.unobtrusive.min.js:5 (anonymous function)
如何解决这个问题呢?