【发布时间】:2017-03-19 22:57:53
【问题描述】:
我正在开发一个应用程序,其核心是一组非常复杂的网络表单。这种复杂性的根源
- 规模,有些表格大约有 50 页,每页最多 30 个问题
- 复杂的规则,例如如果用户对问题 4 回答“否”,则问题 5-15 不适用,因此应从表单中删除
目前我们对表单使用Angular Schema Form,但它没有提供一种有效的方式来管理表单字段之间的大量复杂规则。
我对@987654322@ 没有太多经验,但在我看来,这可能会提供一种更好的方式来管理表单字段之间的规则。例如,使用基于规则的方法,我们可以定义与每个表单字段关联的规则,并且规则引擎可以使用这些规则来决定接下来要显示哪些字段。使用我们当前的方法,我们通过大量几乎不可能测试和维护的命令式 JavaScript 来实现这一点。
如果有人有开发如此复杂的网络表单的经验,我很想听听他们的经验,例如他们可以推荐的工具/库。我们当前的堆栈基于 JDK(Java、Groovy、Grails)和 JavaScript(Angular、Node),因此在这些平台上运行的工具/库/框架将特别受关注。
【问题讨论】:
-
你有比较过使用角度形式吗?
-
@charlietfl 不,我知道 formly 是另一个非常流行的 Angular 表单开发库,但我不知道与 Angular Schema Form 相比的优缺点
-
如果不更详细地了解问题,很难真正评估什么会有所帮助,但在我看来,您可能会受益于每个 "form" 的多条路线,其中每条路线路由是由决策树确定的自己的形式,每个子路由都绑定到一个共享服务。可能还想尝试测试角度形式,看看它是否可以帮助您获得更多有益于您的功能
-
试试看
strategy pattern -
@IvanChaer 有问题的表格不是调查
标签: javascript forms rule-engine angular-schema-form