2011-08-08 67 views
1

我有一個窗體,其中有默認情況下隱藏的字段,只有當用戶選中「附加信息」複選框時纔可見。 我希望這些字段在客戶端和服務器端對數據引用屬性進行驗證(例如必需的,字符串長度,匹配正則表達式等),但只有在「附加信息」複選框被選中的情況下。驗證字段只有當一個複選框爲真(ASP.NET MVC3)

在dataannotations中是否有內置解決方案?

最好的解決方案是隻能修改我的viewmodel的東西,但如果我需要通過在控制器中寫入自定義代碼來弄髒我的手,就這樣吧。

我希望能夠使用像ModelState.IsValid這樣的東西,因此如果沒有其他方式,篡改modelstate也是一個選項。

你能爲此提出一些很好的解決方案嗎?

+0

找到解決方案嗎?我有同樣的疑問! – ridermansb

+0

不,可悲的是我沒有。 – SoonDead

+0

我發現了一種方式來構建我的虛擬機,可以切換窗體部件,我只需要使用jquery.validation擴展來重新解析窗體。我會盡快發佈我的解決方案。 – SoonDead

回答

0

我知道這是一個老問題。但是現在有一個很好的方法可以做到這一點:FoolProof。 例如,[RequiredIf]屬性。

+1

謝謝你回答這個先生Necromancer :) – SoonDead

相關問題