2011-05-08 177 views
1

我正在做客戶端和服務器端驗證,對於一個特定的視圖,我需要驗證未在其他視圖中發佈的字段。如果我爲兩者使用相同的模型,我怎麼能做到這一點?部分驗證 - ASP.NET MVC 2

+1

你能爲模型顯示一些代碼嗎? – Paul 2011-05-08 05:32:03

+0

您可以在新視圖上進行特定的客戶端驗證,但在服務器端,我認爲您需要一些特定於視圖的代碼來對其他字段執行驗證,如果您使用的是相同的視圖模型。我不知道任何「開箱即用」的符合「特定視圖驗證」概念的內容。 – 2011-05-08 17:03:11

+0

謝謝羅伯特。該視圖具體的驗證基本上是通過直接爲視圖生成錯誤消息還是使用驗證方法來實現? – user743183 2011-05-08 18:40:35

回答

0

FluentValidation非常適合這種情況。您可以編寫兩個不同的驗證器類,並根據您的上下文調用它們。看看他們的CodePlex網站下:

http://fluentvalidation.codeplex.com/

1

如果一個視圖模型不適合這兩種觀點,那麼你應該有兩個視圖模型。

要保持乾爽(不要重複自己),您可以繼承另一個視圖模型並添加其他屬性。