I have read a lot of step by step tutorials and still couldn\'t get my code to work, I went through the solutions on this site with no luck either, i don\'t know what i am doing
Go through these links:
http://www.dotnetfunda.com/articles/show/2893/checking-for-existing-username-without-page-refresh-in-aspnet-mvc-remo
http://www.tugberkugurlu.com/archive/check-instantly-if-username-exists-asp-net-mvc-remote-validation
https://msdn.microsoft.com/en-us/library/gg508808%28v=VS.98%29.aspx
Using JQuery
https://2leggedspider.wordpress.com/2009/08/17/check-availability-of-username-using-asp-net-mvc-and-jquery/
Check the below link out :
Check Instantly If Username Exists - ASP.NET MVC Remote Validation
What you need here is RemoteAttribute
for the property your are checking and also you need to implement a controller action which returns JsonResult
with Boolean value.
Here is a brief sample:
Your model:
[Required]
[Display(Name = "User name")]
[Remote("doesUserNameExist", "Account", HttpMethod = "POST", ErrorMessage = "User name already exists. Please enter a different user name.")]
public string UserName { get; set; }
Your action result:
[HttpPost]
public JsonResult doesUserNameExist(string UserName) {
var user = Membership.GetUser(UserName);
return Json(user == null);
}
You can tweak the business logic inside the action result for your needs.
Also, make sure that you have the following libraries referenced on your registration page along with your jQuery file:
jquery.validate.min.js
jquery.validate.unobtrusive.min.js
The above blog post covers everything you need.
NOTE
Keep it in mind that Remote
validation does not kick in on the server side. You might wanna check the below link out for server side remote validation (I don't recommend using it on production though, it is full of holes but it will give you an idea):
http://www.tugberkugurlu.com/archive/asp-net-mvc-server-side-remote-validation
See my full article on this topic. How to: Implement Remote Validation in ASP.NET MVC