我想知道在ASP MVC中验证表单的最佳方法是什么。
我使用Jquery Ajax检查数据库中的Username
出口。所以问题是当我提交表单时,这个方法需要我点击Username
字段来执行onblur
函数ajax调用,它不会显示以前的错误消息。
使用Remote Validation
,当我离开或关注Username
时执行。但这种方式的问题是我无法管理错误消息,如:
The username must be at least 3 charaters....
或The username already taken
。
任何人都可以给我一个建议或一些链接如何使表单ontime
有效(这意味着当用户离开该字段并前往下一个字段时,如此页面:http://yame.vn/TaiKhoan/DangKy)?< / p>
答案 0 :(得分:2)
使用
$("#UserName").focusout(function(event){
var name = $(this).attr('value');
if(name.length>=3)
{
searchCustomer();//Function containing your ajax call
}
else
{
//Show error message of length less than 3
}
});
答案 1 :(得分:1)
为了解决您的问题,您可以使用此解决方案:
在您的控制器上创建JsonResult或Action Result方法:
[HttpPost]
public JsonResult GetUserNameExistant([Bind(Include = "UserName")] User user)
{
var user= repository.List("").Count(c => c.user== user.UserName);
if (!user.Equals(0))
{
//This User Found
return Json("This UserName Exist!", JsonRequestBehavior.DenyGet);
}
//This UserName Not Found On DB
return Json(true, JsonRequestBehavior.AllowGet);
}
在您的域类中,在您的媒体资源上方添加此行代码:
[Remote(&#34; GetUserNameExistant&#34;,&#34; User&#34;,HttpMethod =&#34; Post&#34;)]