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,就這樣吧,代碼是如此的簡單的,實現的效果也是挺好的,下面看看效果吧:

效果即簡單又有點酷吧!對於這個結果,我這里是沒有提交數據的,只要你輸入完后就會出現如圖的效果的,你也來試試吧!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM