MVC2验证(自定义异常)
生活随笔
收集整理的這篇文章主要介紹了
MVC2验证(自定义异常)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
源碼
/Files/zhangchao1/MVCValidationTest.rar
在contorllers內雖然簡單,但有卻有些不符合mvc 的設計理念,這里,我們將驗證放到DLL部分
?
首先建立自定義的異常類
public class MyExcptions:Exception { //存放錯誤信息 List<string[]> errors = new List<string[]>(); //判斷是否有錯誤 public bool IsValid { get { return errors.Count == 0 ? true : false; } } //添加錯誤信息 public void AddError(string name, string message) { this.errors.Add(new string[] { name, message }); } //填充ModelState public void FillModellState(ModelStateDictionary modelstate) { foreach (var e in this.errors) { modelstate.AddModelError(e[0], e[1]); } } }然后創建一個BLL文件夾在里面創建一個UserBll類
public class UserBLL { public static void Edit(Models.User user, bool IsValid) { var e = new MyExcptions(); if (user.userName==null) { e.AddError("userName", "用戶名不能為空"); } //別的不變,但在這里,我除了要判斷e中是否有錯誤外,還要判斷ModelState中是否有錯誤 if (e.IsValid && IsValid) { //在這里我可以寫一些代碼,因為完成了驗證,我就可以開始更新數據庫了 } else { throw e; } } } 接著就在Controller中創建action public ActionResult Validation1(Models.User user) { try { UserBLL.Edit(user, ModelState.IsValid); } catch (MyExcptions e) { e.FillModellState(ModelState); } if (ModelState.IsValid) { return View("Validation1"); } else { return View(user); } }?
生成視圖后,就好了!!!
本文純屬學習記錄,如有錯誤,請多指教(原教程http://blog.csdn.net/zhaoqiliang527/archive/2010/05/24/5620668.aspx)
轉載于:https://www.cnblogs.com/zhangchao1/archive/2011/04/27/2030474.html
總結
以上是生活随笔為你收集整理的MVC2验证(自定义异常)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为EC169 3G卡在Win7下的安装
- 下一篇: 重庆造了全国首条4D景观高速隧道:开车能