服务器端XForms表单验证和与ASP.NET的集成

服务器端XForms表单验证和与ASP.NET的集成,asp.net,validation,xforms,orbeon,Asp.net,Validation,Xforms,Orbeon,我最近一直在研究为ASP.NET web应用程序创建基于web的表单的方法,该应用程序可以在运行时进行编辑和管理。例如,管理员可能希望添加新的验证规则或一组新字段 圣杯将提供一种方法来指定表单以及(可能非常复杂的)任意验证规则,并为每个字段分配数据源。然后,该规范将用于更新web应用程序中已部署的表单,然后在客户端和服务器端验证提交 通过调查,我了解了Xforms和许多支持它的技术。一种解决方案似乎是,但这需要在基础设施方面进行大量投资,这使得它不可行,尽管表单设计器作为创建表单的独立工具可能很

我最近一直在研究为ASP.NET web应用程序创建基于web的表单的方法,该应用程序可以在运行时进行编辑和管理。例如,管理员可能希望添加新的验证规则或一组新字段

圣杯将提供一种方法来指定表单以及(可能非常复杂的)任意验证规则,并为每个字段分配数据源。然后,该规范将用于更新web应用程序中已部署的表单,然后在客户端和服务器端验证提交

通过调查,我了解了Xforms和许多支持它的技术。一种解决方案似乎是,但这需要在基础设施方面进行大量投资,这使得它不可行,尽管表单设计器作为创建表单的独立工具可能很有用。我还打折了浏览器插件,因为表单必须是公开可见的,并且兼容跨浏览器

我注意到,在给定Xforms模式的情况下,有许多javascript库提供客户端实现。这些将提供部分解决方案,但仍然需要服务器端验证

另一种选择似乎涉及使用服务器端解决方案,如Java应用程序。Orbeon提供了一个用于指定表单的工具(虽然没有LotusFormsDesigner丰富),但最有趣的是,它可以将XForms模式转换为XHTML表单,并完成验证。如果可以与现有的ASP.NET应用程序集成,那么它是用Java编写的这一事实并不是一个大问题

所以我的问题是以前是否有人这样做过。这听起来像是一个应该解决的问题,但本质上非常复杂。似乎可以使用现成的工具来设计表单并将其导出到Xforms模式和xhtml表单,并且可以使用Xforms模式和表单并使用客户端库发布表单。似乎困难的是提供一种在服务器端验证表单提交的方法,并将该过程与.NET很好地集成(尽管.NET社区似乎不参与XForms;如果我在这方面有错误,请纠正我)

如果一个产品提供一些简单的东西,比如一个可以根据模式验证提交的web服务,我会非常高兴。也许Orbeon会这么做,但如果有人能在我进一步研究之前为我指出正确的方向,我将不胜感激


非常感谢。

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


在本文中,我做这类事情的方法是为表单声明创建一个模式&xslt,用于将xml转换为html。然后,可以根据您设计的xml模式添加各种验证。但是我通常缺少的是表单设计器。

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

为了进行验证,您可以使用Schematron,也可以使用支持XML的工具在运行时轻松编辑


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

@Nigel我知道这个问题已经存在了6年多,但现在我们正处于与您描述的相似的位置。您是否有任何关于.NET和Orbeon或任何其他动态表单生成器的进一步经验?