簡體   English   中英

非模型錯誤的Mimick驗證摘要

[英]Mimick ValidationSummary For Non-Model Errors

我見過開發人員“利用” ModelState.AddModelError()將錯誤消息添加到ModelState ,即使這些錯誤與當前請求模型的驗證無關。

我的看法是,重定向應該執行完全獨立的“錯誤”操作並查看以顯示錯誤消息。 在那種情況下,將有一個專用的ErrorModel,類似於@Html.ValidationSummary呈現方式。

這就引出了一個問題:是否存在其他人慣用的“ ErrorModel”結構和/或采用該模型並在某種程度上模仿ValidationSummary提供的表示形式的流行庫/函數?

我可以編寫自己的ErrorModel和ValidationSummary代碼(甚至可以復制MVC源代碼),但是我更喜歡使用庫或遵循其他在這種情況下使用的模式。

恕我直言,為此可以使用ValidationSummary,這是為什么:

有4個版本,其中兩個很重要:

Html.ValidationSummary()
Html.ValidationSummary(bool)

第二個僅用於顯示模型錯誤,而不是屬性錯誤。 這意味着需要進行業務邏輯驗證,例如“喬不能在星期一預約”。 第一個旨在顯示模型錯誤和屬性錯誤。

這是Pro ASP.NET MVC3框架的解釋:

ValidationSummary幫助程序方法的一些重載使我們可以指定僅顯示模型級錯誤。 到目前為止,我們在ModelState上注冊的錯誤都是屬性級錯誤,這意味着為給定屬性提供的值存在問題,並且更改該值可以解決該問題。 相反,當兩個或多個屬性值之間的相互作用引起某些問題時,可以使用模型級錯誤。

所以基本上我會說:您做的很好,請不要打擾。 當然,除非您有特定原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM