8

我最近一直在研究为可以在运行时编辑和管理的 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 会这样做,但如果知道的人能在我进一步研究之前为我指出正确的方向,我将不胜感激。

非常感谢。

4

2 回答 2

0

我可能错过了一些东西,但是......

我在传递中完成此类事情的方式是为表单声明创建一个模式和一个 xslt 以将该 xml 转换为 html。然后,您可以根据您设计的 xml 架构添加各种验证。我通常缺少的是表单设计器。

于 2010-06-11T17:48:52.027 回答
0

您可以将 XHTML 用于表单,或者像 Simon 建议的那样,使用自定义语言作为抽象层。应用程序可以在运行时加载表单,对其进行转换/设置样式并将其提供给用户。您可以编辑表单并进行更改,而无需重新编译/重新部署。

对于验证,您可以使用 Schematron,也可以在运行时使用支持 XML 的工具轻松地对其进行编辑。

您可以使用 Javascript 在浏览器中生成 XML 数据,也可以application/x-www-form-urlencoded在服务器上转换为 XML(这就是我在此页面上所做的)。

于 2010-10-27T20:39:39.710 回答