Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 远程验证无法正常工作_Jquery_Asp.net_Asp.net Mvc_Validation_Remote Validation - Fatal编程技术网

Jquery 远程验证无法正常工作

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

我有默认的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);
        }
在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