1

我想知道在 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)?

4

2 回答 2

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
}
});
于 2013-08-14T06:52:47.023 回答
1

为了解决您的问题,您可以使用此解决方案:

  1. 在控制器上创建 JsonResult 或操作结果方法:

        [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);
    }
    
  2. 在您的域类中,在您的属性上方添加此行代码:

    [远程(“GetUserNameExistant”,“用户”,HttpMethod =“发布”)]

于 2016-07-09T12:53:45.483 回答