Jquery 远程验证无法正常工作
我有默认的ASP.NET MVC 4帐户注册web表单。我试图检查数据库中是否已经存在用户名。如果存在用户名,则应通知用户。 为此,我使用远程验证(如下) 首先,我更改了RegisterModel类:Jquery 远程验证无法正常工作,jquery,asp.net,asp.net-mvc,validation,remote-validation,Jquery,Asp.net,Asp.net Mvc,Validation,Remote Validation,我有默认的ASP.NET MVC 4帐户注册web表单。我试图检查数据库中是否已经存在用户名。如果存在用户名,则应通知用户。 为此,我使用远程验证(如下) 首先,我更改了RegisterModel类: [Required] [Display(Name = "User name")] [System.Web.Mvc.Remote("doesUserNameExist", "Account", HttpMethod = "POST", ErrorMessag
[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);
}
在Register视图中,我添加了以下两行:
<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开发者工具中检查了这个表单。它给出了两个错误:
未捕获引用错误:未定义jQuery
jquery.validate.min.js:46(匿名函数)未捕获
ReferenceError:未定义jQuery
jquery.validate.unobtrusive.min.js:5(匿名函数)
如何解决这个问题?我也有同样的问题,只是解决了它。如果在加载以下文件之前包含所需jQuery文件的链接,那么它应该可以工作
- jquery.validate.min.js
- jquery.validate.unobtrusive.min.js
- 远程验证也不适合我。我更新了软件包并开始工作
<package id="jQuery" version="3.1.1" targetFramework="net45" />
<package id="jQuery.Validation" version="1.16.0" targetFramework="net45" />
<package id="Microsoft.jQuery.Unobtrusive.Ajax" version="3.2.3" targetFramework="net45" />
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net45" />
没有足够的代码来解决问题。您使用的控制器是什么?我使用的控制器是在启动项目时由Visual Studio自动创建的。我应该提供AccountController的全部代码吗?在验证脚本之前,必须包含jquery.min.js