我們使用MVC3與unobstructuve驗證,一切都很好;我們在服務器以及客戶端上獲得了自定義驗證。MVC3驗證基於用戶角色
我們也在使用內建的asp.net 角色提供者。我們有特定的觀點,我們用於不同的角色。根據登錄用戶的角色,某些字段(ViewModel的屬性)是必需的。
我的問題是:我們如何製作一個ValidationAttribute基於角色?我們想要創建一個屬性當用戶是普通用戶時需要;但是當用戶是管理員時,我們不想讓該字段成爲必需字段。但我們確實想要使用相同的觀點。
我知道我們能(從創建派生的類ValidationAttribute)創建一個自定義ValidationAttribute我想這將正常工作的服務器端驗證。但我們真的想要驗證這個客戶端。
我認爲我們在上面ValidationAttribute實施IClientValidatable和寫一些jQuery來讓Ajax調用返回到服務器,以檢查登錄的用戶及其角色的電流。 但是這會讓我們在每次特定屬性更改時都會執行Ajax調用,並且登錄用戶不會更改。
這樣做的正確方法是什麼?或者我們應該爲不同的登錄用戶創建不同的ViewModels?
請讓我知道,當我的上述解釋沒有道理時,我可以在需要時添加一些示例代碼。
任何幫助表示讚賞。
感謝,
皮姆
謝謝!這正是我所追求的。 – Pim 2011-05-29 23:54:59