我最近一直在研究为可以在运行时编辑和管理的 ASP.NET Web 应用程序创建基于 Web 的表单的方法。例如,管理员可能希望添加新的验证规则或一组新的字段。
圣杯将提供一种指定表单的方法以及(可能非常复杂的)任意验证规则,以及为每个字段分配数据源。然后,该规范将用于更新 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 会这样做,但如果知道的人能在我进一步研究之前为我指出正确的方向,我将不胜感激。
非常感谢。