0

I have default ASP.NET MVC 4 Account register web form. I am trying to check if username already exist in database. If user name exist, user should be notified. For that, I am using remote validation (following this tutorial).

First of all I changed RegisterModel class:

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

Then I have put this into AccountController:

[HttpPost]
        public JsonResult doesUserNameExist(string UserName)
        {
            var user = Membership.GetUser(UserName);
            return Json(user == null);
        }

In Register view, I have added these 2 lines:

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

When I click on "Register" button, nothing is happening: it is not forwarding to home page and not showing the error.

UPDATE: I have checked this form in chrome developer tool. It is giving 2 errors:

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)

How to solve this problem?

user3388473
  • 953
  • 2
  • 12
  • 25

2 Answers2

0

I had the same issue and just fixed it. If you include a link to the jQuery file needed before the following files are loaded, It should work!

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

remote validation wasn't wroking for me too. I updated the packages and worked

<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" />
Dipon Roy
  • 396
  • 1
  • 4
  • 18