Cin*_*dro 11 asp.net asp.net-mvc jquery
我已经阅读了很多一步一步的教程,仍然无法让我的代码工作,我在这个网站上也没有运气的解决方案,我不知道我做错了什么.
我正在使用jQuery并想知道是否使用了用户名"mark",我还没有达到数据库链接.
[HTML]
<input id="user_name" name="user_name" onchange="UserCheck()" type="text" value="" />
<div id="status" />
Run Code Online (Sandbox Code Playgroud)
[JS]
function UserCheck() {
$("#status").html("Checking....");
$.post("/user/check",
{ username: $("#user_name").val() },
function (data) {
if (data == 0) {
$("#status").html("Available");
}
else {
$("#status").html("Taken");
}
});
}
[Controller]
public JsonResult check(FormCollection form)
{
System.Threading.Thread.Sleep(3000);
string name = form["username"];
if (name.Equals("mark")){
return Json(1);
} else {
return Json(0);
}
}
Run Code Online (Sandbox Code Playgroud)
tug*_*erk 14
检查以下链接:
你需要的是RemoteAttribute
你正在检查的属性,你还需要实现一个返回JsonResult
布尔值的控制器动作.
这是一个简短的例子:
你的型号:
[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; }
Run Code Online (Sandbox Code Playgroud)
你的行动结果:
[HttpPost]
public JsonResult doesUserNameExist(string UserName) {
var user = Membership.GetUser(UserName);
return Json(user == null);
}
Run Code Online (Sandbox Code Playgroud)
您可以根据需要调整操作结果中的业务逻辑.
另外,请确保在注册页面上引用了以下库以及jQuery文件:
jquery.validate.min.js
jquery.validate.unobtrusive.min.js
以上博客文章涵盖了您需要的一切.
注意
请记住,Remote
验证不会在服务器端启动.您可能想检查下面的链接以进行服务器端远程验证(我不建议在生产中使用它,它充满漏洞,但它会给你一个想法):
http://www.tugberkugurlu.com/archive/asp-net-mvc-server-side-remote-validation
归档时间: |
|
查看次数: |
12520 次 |
最近记录: |