MVC3关于用户名的验证

  以前一直想知道用户名是怎么在客服端验证的,不用到服务器端验证,学习了MVC3之后,今天终于实现了用户名的验证,感觉无比的激动,嘿嘿嘿嘿,毕竟是想了很久也不知道的办法。

     在MVC之中主要是用到Remote的一些属性吧,它的一些参数如下:Remote(string Action,string controller,string ErrorMessage,......)Action是在验证的时候从数据库读取数据的方法,返回JSON对象。废话不多说了吧,下面直接给出源码实例:

首先是在Model层之中的LoginName属性上给予添加验证属性,代码如下(主要是绿色部分):

1       [DisplayName("用户名")]
2         [Required(ErrorMessage = "不能为空")]
3         [Remote("IsUserExists", "Validate", "Admin", ErrorMessage = "用户名已经存在!", HttpMethod = "POST")]
4         public string LoginName { get; set; }

     现在就需要用到Remote的一些属性了,必须实现Remote的一些参数,否则出错,我这里实现的参数的C#(基于Razor视图)代码如下:

 1  public class ValidateController : Controller
 2     {
 3        
 4         Entities db = new Entities();
 5         public ActionResult IsUserExists(string LoginName)
 6         {
 7             int c = db.users.Where(p => p.LoginName == LoginName).Count();
 8             bool exists = c > 0;
 9             return Json(!exists, JsonRequestBehavior.AllowGet);
10         }
11 
12     }

Validate是在Remote定义的一个Controller吧,IsUserExists则是定义的一个Action,就这样吧,代码是如此的简单的,实现的效果也是挺好的,下面看看效果吧:

效果即简单又有点酷吧!对于这个结果,我这里是没有提交数据的,只要你输入完后就会出现如图的效果的,你也来试试吧!

posted @ 2012-10-03 21:25  开心学习吧  阅读(3264)  评论(2编辑  收藏  举报