3

我正在写一份财务申请表。Angular Schema Forms 非常适合我制作表单所需的灵活性。

我在理解模式的概念时遇到了一些麻烦,特别是:模式应该与单个表单相关,还是与应用程序中的所有表单相关?

我有多种类型的金融产品可供用户申请……支票账户、储蓄账户、汽车保险、房屋、宠物、小工具保险。各种形式的许多字段对所有人都是通用的:姓名、出生日期、地址。有些特定于一个表格或几个表格(汽车登记号)。

我是否应该有一个包罗万象的架构,其中包含我所有表单中所有可能字段的定义,并在表单定义对象中添加/覆盖它们?还是每个表单都应该包含自己的模式?甚至是每个表单中的每一页?

如果是后两者中的任何一个 - 我如何防止重复?干燥!

4

1 回答 1

2

Schema 与 UI Schema 我认为它的方式是 Schema 代表数据模型的视图,而 UI Schema 代表视图的可编辑版本。您能否编写一个包含数据库中所有字段的视图,是的,但我更有可能查看我需要哪些数据的细节。

在我的项目中,我为我提供给客户的每个产品/服务生成一个 JSON 模式,并使用 json-refs 库来允许我预处理 json 模式引用 ($ref),以便我可以重用定义。

就我而言,我有一个订单模式,其中仅包含订单相关数据、客户地址、订单相关日期等……每个订单都需要这些数据。我也有每个产品的产品架构。然后,我使用 $ref 将订单和产品包含到组合模式中。每个产品都可以有多个部分和属性,我也可以跨产品重复使用这些部分和属性。

现在,在您的情况下,由于我们的数据相似,因此我的解决方案似乎很合适,但是我不知道您的后端库是什么。也就是说,Angular Schema Form 的新 alpha 版本支持在客户端使用 json-ref 的 $ref,但如果您的堆栈有支持库或者您正在使用 NodeJS 并且可以使用 json-ref,我仍然会寻找后端解决方案.

于 2017-07-18T01:42:47.230 回答