2014-04-15 3 views
0

기본 ASP.NET MVC 4 계정 등록 웹 양식이 있습니다. 사용자 이름이 이미 데이터베이스에 있는지 확인하려고합니다. 사용자 이름이 있으면 사용자에게 통보해야합니다. 그 때문에 원격 인증 (this tutorial)을 사용하고 있습니다.원격 유효성 검사가 제대로 작동하지 않습니다.

<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> 
:

등록보기에서
[HttpPost] 
     public JsonResult doesUserNameExist(string UserName) 
     { 
      var user = Membership.GetUser(UserName); 
      return Json(user == null); 
     } 

, 나는이 2 개 라인을 추가했습니다 : 나는 AccountController이 점을 넣어 가지고

다음
[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; } 

: 모든

먼저 나는 RegisterModel 클래스를 변경

"등록"버튼을 클릭하면 아무 것도 일어나지 않습니다 : 홈 페이지로 전달하지 않고 해당 항목을 표시하지 않습니다. 오류.

업데이트 : 크롬 개발자 도구에서이 양식을 확인했습니다. 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)

어떻게 해결할 수 있습니까?

+0

문제를 해결하기위한 코드가 충분하지 않습니다. 어떤 컨트롤러를 사용하고 있습니까? –

+0

프로젝트를 시작할 때 Visual Studio에서 자동으로 만든 컨트롤러를 사용하고 있습니다. AccountController의 전체 코드를 제공해야합니까? – user3388473

+0

유효성 검사 스크립트 전에 jquery.min.js를 포함시켜야합니다. – Ryley

답변

0

나는 동일한 문제가있어서 방금 고쳤습니다. 다음 파일이로드되기 전에 필요한 jQuery 파일에 대한 링크를 포함하면 작동합니다!

  • jquery.validate.min.js
  • jquery.validate.unobtrusive.min.js
0

원격 검증이 너무 나를 위해 wroking되지 않았습니다. 패키지를 업데이트하고 작업했습니다.

<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" /> 
관련 문제