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,就这样吧,代码是如此的简单的,实现的效果也是挺好的,下面看看效果吧:

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

你可能感兴趣的:(mvc)