有沒有辦法在MVC 3中進行相同類型的客戶端驗證,而無法在視圖模型級別設置驗證? 我有兩個要求阻止我在viewmodel級別添加驗證。我希望能夠具有相同類型的「內置」驗證,但不更改視圖模型或控制器代碼。我希望能夠在視圖級別部署後更改,打開/關閉和驗證。理想情況下,我希望能夠編輯視圖標記,而無需編寫和維護自己的JavaScript。MVC 3沒有註釋的客戶端驗證?
回答
您可以創建自己的TypeDescriptionProvider,它將允許在運行時增強視圖模型。
基於this代碼示例(XmlMetadataTypeDescriptor,XmlMetadataTypeDescriptionProvider),你應該能夠:使用包含屬性驗證外部XML
- 增強視圖模型。
打開驗證與
TypeDescriptor.AddProvider
,並關閉它:
TypeDescriptor.RemoveProvider
更新
對於M礦石信息,你可以閱讀偉大的文章:"Understanding the TypeDescriptor: A Metadata Engine for Designtime Code"。
你有沒有更簡單的例子?您鏈接的示例似乎有一個損壞的解決方案文件。 – SideByEach 2011-03-22 19:48:53
解決方案的錯誤是什麼?因爲它爲我工作。請記住,您不需要整個代碼作爲RiaServices的示例,您需要根據自己的需要對其進行定製:僅使用XmlMetadataTypeDescriptor,XmlMetadataTypeDescriptionProvider和依賴類。如果您仍然遇到問題,我可以發佈我正在使用的代碼。 – baalazamon 2011-03-23 11:43:44
感謝Baal的幫助,但是我無法讓項目編譯,而且它的語言我不明白。我將嘗試追蹤XmlMetadataTypeDescriptor的VB.net示例。 – SideByEach 2011-03-23 14:33:54
http://bassistance.de/jquery-plugins/jquery-plugin-validation/
這可能會幫助你,只有在客戶端驗證,但這樣不甚理想。
- 1. MVC5 - 數據註釋 - 客戶端驗證沒有發生?
- 2. Asp.net MVC客戶端驗證,沒有客戶端驗證的子項?
- 3. ASP.NET MVC 3客戶端驗證
- 4. ASP.NET MVC 3不引人注目的客戶端驗證
- 5. ASP.NET MVC數據註釋客戶端驗證與繼承RegularExpressionAttribute
- 6. MVC 3客戶端驗證與數據註釋收集 - 不工作
- 7. 客戶端驗證MVC 5
- 8. asp.net mvc客戶端驗證
- 9. 客戶端驗證不MVC
- 10. MVC客戶端驗證
- 11. MVC 3數據註釋關閉驗證
- 12. 客戶端驗證屬性3
- 13. ASP.Net MVC 3客戶端驗證與3個選項卡形式
- 14. 服務器端自定義數據註釋驗證MVC 3
- 15. cakephp客戶端/添加註釋的模型驗證
- 16. MVC2客戶端驗證與RenderAction視圖中的註釋
- 17. MVC客戶端驗證EditorFor中的foreach
- 18. MVC 3.0:爲什麼沒有客戶端驗證消息?
- 19. 日期失敗客戶端和服務器端驗證使用ASP.NET MVC 3數據註釋
- 20. 如何關閉MVC 3中的客戶端驗證?
- 21. 如何在Asp.net MVC 3的客戶端手動驗證?
- 22. 使用FluentValidation/MVC驗證客戶端上的複選框3
- 23. ASP.NET MVC 3客戶端自定義驗證中的jQuery錯誤
- 24. 使用數據註釋進行客戶端驗證
- 25. 驗證的RadioButtonGroup客戶端
- 26. 流暢驗證非空驗證與客戶端驗證在MVC
- 27. ASP.NET MVC 2.0客戶端驗證HOWTO
- 28. Asp.Net MVC 2.0客戶端驗證VS 2010
- 29. asp.net mvc jquery客戶端驗證
- 30. Spring 3.0 MVC客戶端驗證
出於好奇,這些要求是什麼? – neontapir 2011-03-22 14:59:33
要求是任何驗證都可以打開/關閉,驗證中的閾值可以改變。所有後期部署,無需重新編譯後端。 – SideByEach 2011-03-22 19:50:14
Gotcha。我最終實現了一個使用IronRuby腳本引擎處理類似請求的解決方案,因此我不必重新編譯應用程序以更改其運行時行爲。 – neontapir 2011-03-22 21:56:17