ModelState 錯誤資訊輸出

2022-06-26 20:36:12 字數 1200 閱讀 3146

在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 上面是原理性 在我們...