问题标签 [angular-schema-form]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
658 浏览

javascript - Angular Schema 表单 - 自定义字段

我正在尝试将新的表单字段添加到角度模式表单指令。文档(https://github.com/Textalk/angular-schema-form/blob/master/docs/extending.md)说使用如下函数调用来做到这一点,

我是 angularjs 的新手,我不确定从哪里调用这个函数。我尝试了不同的方法,但没有任何效果。有人可以提供一个jsfiddle来展示如何做到这一点,或者给我一些提示..

提前致谢。

0 投票
1 回答
1890 浏览

angularjs - angular-schema-form:将自定义 html 添加到表单字段

我刚刚开始研究 angular-schema-form,所以这可能是我在文档或描述中遗漏的内容。

我要做的是在生成的表单字段的标签旁边和字段本身旁边添加一个图标。像这样:

常规输入字段

但是开箱即用的 angular-schema-form 会生成:

生成的输入字段

我知道我可以创建自己的自定义字段类型,但这是要走的路吗?这将需要我重新定义自定义变体中的所有字段类型,因为我的所有表单字段都需要这两个图标及其功能。

我希望有一种更简单的方法可以将此功能添加到生成的 html 中,并有一种简单的方法可以在它们上添加功能(ng-click 功能)。

编辑:再次阅读文档后,我发现我需要定义自己的自定义字段类型(https://github.com/Textalk/angular-schema-form/blob/development/docs/extending.md )

根据我收集的信息,我需要将以下内容添加到我的模块配置块中:

我还添加了shared/templates/customInput.tpl.htmlto的内容$templatesCache

但是当我尝试渲染一个表单时,它的模式类似于

我只看到第一个字段(名字)和年龄。自定义类型被忽略。

我试图调试解决问题的方法,但据我所知,自定义字段已正确添加到装饰器中。我试图 console.logschemaFormDecoratorsProvider.decorator()并且在那里我可以看到我的自定义字段类型。

我也尝试$scope.$broadcast('schemaFormRedraw')在我的控制器中触发 a ,但我仍然只看到内置的字段类型。

作为测试,我尝试定义自己的装饰器,覆盖默认的 Bootstrap 装饰器:

我希望看到所有字段都呈现相同,因为我只定义了一个默认类型和我自己的自定义类型。但是,我仍然只看到渲染的内置类型,我的自定义输入直到被忽略。

我错过了什么?

0 投票
0 回答
37 浏览

angularjs - 如何对另一个域中的休息服务进行外部调用

我正在使用Angular Schema Form框架,使用它来创建一个具有基本地址字段的表单。我必须调用外部休息服务来验证输入的地址。我必须从休息服务获取 JSON 数据并执行一些更改并将它们呈现到页面。我不知道如何做到这一点,任何帮助表示赞赏。谢谢。

0 投票
1 回答
279 浏览

javascript - Angular Schema Form - 检查表单是否经过验证

我正在使用 angular-schema-form ( http://schemaform.io ) 在 Angular 应用程序中创建表单。

在表单定义中,我创建了一个带有 onClick 事件的按钮。

javascript代码:

我想检查表格是否有效,但它不起作用。我发现它不起作用,因为form传递给函数的对象不是表单而是字段。

任何人都知道如何检查表单是否在此处验证?

0 投票
1 回答
1071 浏览

javascript - Angular Schema 表单从 JSON 加载数据

我是一名硬件工程师,试图创建一个内部软件工具。我以为我可以很容易地做到这一点,但是有太多的未知数让我无法进步。

我正在尝试创建一个用于管理订单的内部软件解决方案。我已经定义了一个有效的 JSON 模式。

我想建立一个网页,我可以通过填写网络表格来创建新订单。然后应将数据存储为 JSON 文本文件。我还希望能够加载 JSON 文本文件,使用当前值预填充表单,进行一些更改,然后保存更改。

我在 php 和 mysql 中做过类似的事情,但我想使用 JSON 文件来更改软件工具,而不必摆弄数据库结构。我也认为这是一个很好的学习机会。

我正在尝试使用自动生成的表单(schemaform.io),并且我已经获得了以下代码:

我现在想从文件中加载 JSON 模式。我试图将代码移动到 getJSON 调用的回调中,但收到以下错误消息:

未捕获的错误:[$injector:modulerr] 无法实例化模块测试,原因是:错误:[$injector:nomod] 模块“测试”不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

我尝试了各种方法,但问题很可能是我真的不知道自己在做什么。任何帮助将不胜感激。

此外,是否有人对我如何使用包含数据(并适合架构)的 JSON 文件中的数据预加载表单有任何指示?

谢谢..

/ 马丁

0 投票
1 回答
597 浏览

javascript - Angular Schema Form - 数组验证

我正在尝试使用 Schema Form 创建一组唯一值,但这似乎是一项不可能完成的任务。

为了简单起见,让我们考虑这个简单的唯一验证器:

打开你的控制台并访问这个Fiddle

第 1 步:添加名为 1 的新项目。

第 2 步:添加名为 12 的新项目。

第 3 步:添加名为 123 的新项目。

第 4 步:添加名为 1234 的新项目。

到目前为止,一切都很好。

步骤 5:将第一项 (1) 更改为 1234,以便出现错误消息。

第 6 步:删除最后一项,使第一项再次唯一。但什么也没有发生。一旦删除了一个项目,该数组就不会再次验证,即使您单击应该触发表单验证的提交按钮,也不会发生任何事情。

这个问题是我的错吗?我的示例代码中是否有错误?还是某种模式形式的错误?如何在删除项目或提交表单时重新验证数组?谢谢!

0 投票
1 回答
146 浏览

javascript - 日期选择器未以模式打开

我是 AngularJS 的新手,使用 AngularJS 和 RequireJS 构建应用程序。

在其中一个具有控制器的模块中,我使用 $modal 服务创建了一个模态对话。模态对话有Angular Schema FormDatepicker Addon

Datepicker 需要一些脚本文件才能工作。当我在 head 部分的 index.html(主页)中添加这些脚本文件时,它会在一个对话框中工作。但是我无法更改主页,所以我尝试在模块文件中加载依赖项,如 module.js 所示,但它不起作用。

模块.js

下面是主页的正文部分,如果我在 head 标签中添加这些脚本依赖项,datepicker 就可以工作。

索引.html

架构-form.html

我检查了 head 中 index.html 中 requirejs 附加的脚本标签,它确实以正确的顺序包含了我所有的 datepicker 依赖项(使用 shim 配置),但是在我在 index.html 头标签中明确指定这些依赖项之前,datepicker 仍然无法工作.

谁能告诉我哪里出错了?

0 投票
3 回答
6485 浏览

json - 如何使用 json 模式验证字符串和数字

我想根据其最大/最小(数字)或最大长度/最小长度(字符串)来验证模式。我有一个 json 表单:

和一个 json 模式:

和一个json模型:

为什么此示例不适用于验证?我拥有的模型未验证为假。根据this document,可以在数组中定义不同的类型,但是我们如何根据最小值/最大值进行验证?

0 投票
1 回答
1010 浏览

angularjs - 如何检测角度模式形式内部的变化?

我正在使用角度模式形式,我需要检测生成的元素何时被删除。

为了您的舒适,我做了一个 plunker: https ://plnkr.co/edit/ogaO8MBmNtxYBPHR67NC?p=info

控制器文件:

如果我更改表单的模型,我可以检测到元素何时被删除,但是如果我尝试使用任何生成的元素中的“x”删除该表单的元素,则无法检测模型是否已更改。

所以,看着 plunker,我试图用 $watch 来检测表单模型的变化,但是如果我删除一个在“X”上单击的元素,什么都不会发生,我需要检测何时完成此操作。

0 投票
1 回答
2514 浏览

javascript - 如何使用角度模式表单触发验证?

嗨,我正在使用角度模式表单并按照说明验证表单字段,但是当我提交验证消息时,如果某些字段无效,则不会出现。

这是我的架构:

这是我的表格:

我用这个做了一个plunker:https ://plnkr.co/edit/ogaO8MBmNtxYBPHR67NC?p=preview

所以,我需要解决的问题是:当我提交表单时。如果某些字段无效,则不会出现验证消息。如果我单击并且是无效字段,我需要显示验证消息