0

我对 Angular Schema 表单完全陌生,并试图用它创建一些表单以显示在我的 html 页面上。我想知道如何以及在哪里放置form content和在此页面schema content中定义。我将这些代码行放在什么类型的文件中,如何调用要在我的 html 页面中显示的表单?

形式

[
  "name",
  "email",
  {
    "key": "comment",
    "type": "textarea",
    "placeholder": "Make a comment"
  },
  {
    "type": "submit",
    "style": "btn-info",
    "title": "OK"
  }
]

架构

{
  "type": "object",
  "title": "Comment",
  "properties": {
    "name": {
      "title": "Name",
      "type": "string"
    },
    "email": {
      "title": "Email",
      "type": "string",
      "pattern": "^\\S+@\\S+$",
      "description": "Email will be used for evil."
    },
    "comment": {
      "title": "Comment",
      "type": "string",
      "maxLength": 20,
      "validationMessage": "Don't be greedy!"
    }
  },
  "required": [
    "name",
    "email",
    "comment"
  ]
}

非常感谢您提供一些详细的初学者级别支持指南在这方面的帮助。

4

1 回答 1

0

一种方法是在您选择的控制器中提供模式和实例数据。

文档 wiki 提供了一个基本示例,您应该在其中获取所有必要的信息。

控制器:

angular.module('myModule', ['schemaForm'])
       .controller('FormController', function($scope) {
  $scope.schema = {
    type: "object",
    properties: {
      name: { type: "string", minLength: 2, title: "Name", description: "Name or alias" },
      title: {
        type: "string",
        enum: ['dr','jr','sir','mrs','mr','NaN','dj']
      }
    }
  };

  $scope.form = [
    "*",
    {
      type: "submit",
      title: "Save"
    }
  ];

  $scope.model = {};
}

模板:

<div ng-controller="FormController">
    <form sf-schema="schema" sf-form="form" sf-model="model"></form>
</div>
于 2016-09-19T08:23:43.493 回答