代码之家  ›  专栏  ›  技术社区  ›  Nigel

服务器端XForms表单验证和与ASP的集成。网

  •  8
  • Nigel  · 技术社区  · 16 年前

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

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

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

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

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

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

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

    非常感谢。

    2 回复  |  直到 8 年前
        1
  •  0
  •   Simon Halsey    16 年前

    我可能错过了什么,但是。。。

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

        2
  •  0
  •   Max Toro    15 年前

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

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

    可以使用Javascript在浏览器中生成XML数据,也可以进行转换 application/x-www-form-urlencoded 到服务器上的XML(这是我在 this page ).