使用AngularJS动态创建HTML表单

问题描述:

我正在处理一个包含80多个表单的大项目。每个事务都有一个表单,现在我想用Angular动态创建这个表单。这个动态表单创建过程将使用他们的模型名称和验证规则生成输入字段。表单I的定义将写入Angular控制器中。所以我的好奇心是知道这个想法实际上是好的,或者我应该考虑其他一些方法。我在服务器端使用Express js的Node.js。使用AngularJS动态创建HTML表单

+1

为什么不使用HTML _fragments_,每个自定义窗体一个?您可以通过编程方式从控制器或实际的HTML源代码中包含这些内容。这听起来像一个更可维护的方法,而不是将这些80+形式的HTML埋在Javascript代码中。 –

+0

我将在控制器中创建一个json对象,它将包含字段类型(文本,单选按钮,复选框等),Field的模型名称和字段验证,现在我将使用ng-repeat生成这些字段。这种方法是好还是需要改进? –

如果您使用asp.net作为后端,那么您可以依赖visual studio scaffolding和T4模板为您的Angular Controller和Views生成HTML和JavaScript。

否则,您可以拥有一个Json文件,其中包含每个表单的字段列表,并创建一个接受表单名称并从json文件中读取其字段的指令,然后遍历该表单中的字段列表相应地形成并绘制HTML输入,您可以在每个字段中包含验证,标签和数据类型。

您可以稍后将此文件保存在数据库中,并允许用户编辑该文件,也许您可​​以为每个表单添加视图,如SharePoint时有一个列表,然后每个列表有多个视图。

+0

我在服务器端使用节点js。 –

+0

然后使用第二种解决方案,存储表单的元数据并将其读入指令以绘制表单 –