在mvc的專案中,我們通常情況下,為了方便(偷懶),會直接使用 !modelstate.isvalid 來判斷實體的驗證是否正確,但是這樣對於使用者的體驗是不好的,當填寫的內容比較多的時候,使用者需要自己乙個乙個查詢問題所在,然後修改。如何既能使用modelstate(偷懶),又能夠讓使用者知道自己輸入錯誤的資訊在**呢? 基於這個情況,封裝了兩個類。
其中乙個,主要是開發人員自己使用,比如說,你們的專案是前後端分離的,那麼前端呼叫的時候,傳遞的資料格式不正確,或者少傳了那些內容,你直接使用modelstate的時候,輸出乙個錯誤,前端會很崩潰的,尤其是在提交欄位較多的情況下(可能會被挨打,,,),所以,為了安全起見,專門封裝了內部人員使用的類,輸出的是字段的名稱,前端可以直接查詢問題所在。
後乙個,主要是輸出錯誤資訊給使用者看的,注意在使用的過程中,你的實體類中欄位名稱,必須擁有displayname的特性!
好了,下面是**:
第乙個類
///
/// 展示錯誤資訊 除錯使用
///
public static class modelstateextensions
);foreach (var item in errorfieldsandmsgs)
return result;
}///
/// 輸出字串型別的錯誤資訊
///
///
public static string getstringstateerrors(this system.web.mvc.modelstatedictionary modelstate)
:;").tolist());
}#endregion
}第二個類
///
/// 展示錯誤資訊 使用者檢視
/// 注意:使用此方法需要配合實體的displayname使用!
///
///
public static class modelstateextensionsforuser
}var errors = modelstate.getstateerrors();
var result = new list();
if (errors != null)
:資料不正確");
}else
:資料不正確");}}
}return string.join(";", result);}}
MySQL錯誤資訊
mysql的出錯 表,根據mysql的標頭檔案mysql include mysqld error.h整理而成。錯誤之處,請大家指正。1005 建立表失敗 1006 建立資料庫失敗 1007 資料庫已存在,建立資料庫失敗 1008 資料庫不存在,刪除資料庫失敗 1009 不能刪除資料庫檔案導致刪除資...
反饋錯誤資訊
即當出現錯誤 時,自動彈出我們預先設計好的反饋視窗,目的是使用者只需簡 單地按一下滑鼠就可以把反饋資訊發到你指定的信箱,當然反饋視窗的內容我們 可以任意修改設計。如下 script function errorinfo errorwin window.open width 20,height 120...
錯誤資訊介面
三 錯誤資訊介面 既然 com 是靠各種各樣的介面來提供服務的,於是很自然地就會想到,是否有乙個介面能夠提供更豐富的錯誤資訊報告那?答案是 isupporterrorinfo。下面這段 是使用 isupporterrorinfo 的一般方法 stdmethodimp c fun 上面是原理性 在我們...