2010-03-22 95 views
8

我最近一直在研究爲ASP.NET Web應用程序創建基於Web的表單的方法,這些表單可以在運行時進行編輯和管理。例如,管理員可能希望添加新的驗證規則或新的一組字段。服務器端XForms表單驗證並集成到ASP.NET中

聖盃將提供一種指定表單以及(可能非常複雜)任意驗證規則以及爲每個字段分配數據源的方法。然後,該規範將用於更新Web應用程序中的部署表單,然後驗證客戶端和服務器端的提交。

我的調查讓我看到了Xforms和一些支持它的技術。一種解決方案似乎是IBM Lotus Forms,但這需要在基礎設施方面進行非常大的投資,這使得它不可行,儘管表單設計師可能作爲創建表單的獨立工具很有用。我還打折了瀏覽器插件,因爲表單必須公開可見並且符合跨瀏覽器。

我注意到有很多的JavaScript庫提供Xforms架構的客戶端實現。這些將提供部分解決方案,但服務器端驗證仍然是一項要求。

另一個選擇似乎涉及使用服務器端解決方案,如Java應用程序Orbeon。 Orbeon提供了一種用於指定表單的工具(儘管不像Lotus Forms Designer那樣豐富),但最有趣的一點是它可以將XForms模式轉換爲完整的XHTML表單並進行驗證。如果可以與現有的ASP.NET應用程序集成,那麼使用Java編寫這一事實並不是什麼大問題。

所以我的問題是,是否有人以前做過這個。這聽起來像是應該解決的問題,但本質上是非常複雜的。似乎有可能使用現成的工具來設計表單並將其導出到Xforms模式和xhtml表單,並且似乎可以使用該xforms模式並使用客戶端庫來發布它。看起來困難的是提供一種驗證服務器端表單提交的方法,並將該流程與.NET很好地整合在一起(儘管看起來.NET社區並不涉及XForms;如果我錯了,請糾正我在這個計數)。

如果產品提供了一些簡單的Web服務,可以根據模式驗證提交,我會非常高興。也許Orbeon會這樣做,但如果有人知道在我進一步研究之前能夠指出我正確的方向,我會很感激。

非常感謝。

+0

偉大的問題。 – 2010-06-21 15:44:19

+0

@Nigel我知道這個問題已經超過6年了,但現在我們已經進入了類似的位置。你有沒有使用.NET和Orbeon或其他動態表單構建器的經驗? – veljkoz 2017-03-09 10:29:06

回答

0

我可能失去了一些東西,但...

我做這個排序中通事情的方式是創建窗體聲明&的XSLT到XML轉換爲HTML的模式。然後,您可以根據您設計的xml模式添加各種驗證。但我通常缺少的是表單設計師。

0

您可以使用XHTML作爲抽象層,或者像Simon建議的那樣使用自定義語言。應用程序可以在運行時加載表單,轉換/設置它並將其提供給用戶。您可以編輯表單並進行更改,而無需重新編譯/重新部署。

驗證您可以使用Schematron,這也可以在運行時使用XML-aware工具輕鬆編輯。

您可以使用Javascript在瀏覽器中生成XML數據,也可以將application/x-www-form-urlencoded轉換爲服務器上的XML(這是我在this page上執行的操作)。