问题标签 [meteor-autoform]
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.
validation - 更新时需要 AutoForm 5.0.2 嵌套模式输入
我已经设置了模式,以便我可以拥有一组复杂的输入集。就像是:
通过这种方式添加地址是可选的,但如果您添加地址,则所有地址字段都是必需的。
这在(我相信是)版本 4.2.2 中有效。这仍然适用于insert
类型自动生成,但不适用于update
类型自动生成。进行更新时,除非嵌套模式中的所有必填字段也有效,否则不会提交任何字段。
作为参考,我正在创建这样的表单:
我的模板 ( autoupdate
) 我复制粘贴了整个 bootstrap3 autoform 模板并重新排列了一些 html 以满足我的需要。我在更新时根据 5.0.0 更新日志尽我所能更新了这些。如果有人能想到模板中的某个属性会导致插入和更新之间的行为不一致,并且在 5.0.0 中发生了更改,那么它可能就在那里。
更多信息
我刚刚尝试使用 5.0.2 中的 bootstrap3 模板重新创建我的所有表单模板。仍然是相同的行为。
+
我在地址架构中有一个布尔(复选框)输入。查看文档,地址数组填充有[0 : {active_address: false}]
不确定这是否有帮助...
+
根据@mark 的建议,我添加了 defaultValue:[]。它解决了这个问题......有点。现在更新表单中没有“开放”的嵌套模式,并且可以更改其他值。如果您使用添加按钮将嵌套模式“添加”到表单中,则即使您没有在任何字段中插入任何值,整个表单也成为必需的。无论Boolean
输入的类型如何,都会发生这种情况。
我可以确定嵌套模式中的Boolean
类型输入导致整个嵌套模式成为执行插入所必需的。删除布尔输入会导致它再次可插入。因此,同样存在一个新问题。
这个新问题可以在这里找到
meteor - Array input type with typeahead utilizing Meteor Autoform
I have typeahead input type working for an input field.
I want to be able to use it like I would other [Meteor.ObjectID] types in my schema (or potentially any arrayed type). {{> afQuickField}}
should recognize the array and wrap it in the 'afArrayField' template, giving it the wonderful add/remove buttons and functionality and also returning an array.
Currently, I just get the one instance of the input and an error message on submission saying that this value must be an array.
I'm scouring autoform's code base looking for how this is implemented on other input types, but so far no luck as there's a LOT of code. I would accept just a pointer to the code that does this currently.
More info
I found AutoForm.getInputType
function in autoform-api.js. I may have to overload this to get my desired behavior. Better alternatives are still welcome!
Tried also
So I thought the trick might be it responds to an array of nested schemas. No overload necessary, just put my typeahead field into a separate schema, and nested it in my main schema.
And that set up the ability to add/remove the fields. The down side? Now typeahead is throwing errors like mad.
javascript - Meteor JS Autoform 自定义输入 - 没有当前视图
我正在为流星 js 中的 autoform 创建自己的自定义输入类型。一切正常,但我在浏览器的控制台中收到一个奇怪的错误。此自定义输入是一个引导下拉多复选框,可能嵌套在其他引导下拉列表中。检查下拉列表中的任何字段时会发生错误。
这是我用于自定义输入的咖啡文件。
玉文件如下:
我使用的架构文件:
编辑:
错误是由用于流星应用程序中的 i18n 的架构中的CampaignLocations数组引起的。它是全局变量,也许它正在改变流星上下文(和这个值),因为它在当前模板之外加载变量。如果我返回如下静态值:
一切正常,没有错误。
meteor - 嵌套模式中的布尔值导致所需状态
我设置了模式,以便我可以通过autoform拥有一组复杂的输入集。就像是:
通过这种方式添加地址是可选的,但如果您添加地址,则所有地址字段都是必需的。
尝试提交表单会为“地址”下的每个字段抛出一个必需的错误,除了Boolean
,即使未选中该复选框。
作为参考,我正在创建这样的表单:
我正在使用自定义表单模板,它非常基于bootstrap3
autoform 附带的表单模板。
试过了
尝试像这样添加一个钩子:
""
这解决了提交问题,但仍为其他值插入一个充满空字符串的数组。这会导致更新表单失控,类似于我在另一个问题中说明的内容。
问题是数组不是空的,而是有一个空值的对象。我可能会遍历表单中的每个值并删除所有字段,但这感觉非常笨拙且昂贵。
meteor - Meteor autoform 不等待元素在 DOM 中存在
我通过以下方式将渲染模板添加到文档中:
这很好用......除了有时使用自动成型。我不确定是什么触发了它发生,但我的一些自动表单(可以存在于内部Template.page
,它们通过传入的数据动态添加到该模板)显示,而其他则引发客户端错误:
timeout
在第 71 行的 afFieldInput.js 中有一个设置为 0。将其设置为 500 可以修复上述错误,但很麻烦并导致其他问题。
我能猜到的最好的情况是,autoform 试图在表单存在于 DOM 之前通过 id 从 DOM 中获取表单,如果我不得不猜测的话,它可能通过 Blaze 作为文档片段存在。
我可以确认AutoForm.templateInstanceForForm
正在获取正确的表单 ID,但document.getElementById(formId)
返回的是 null。
另一种可能性是 Blaze 出于某种原因未能渲染模板但没有警告我。
meteor - Meteor - 使用 Meteor.users 集合自动生成
使用 Autoform 和 Meteor.users 创建一个小测试。如果我创建自己的收藏,那很好。但不知何故,我不断收到这个错误,我不知道出了什么问题..
错误:
模板:
带有助手返回当前用户的方案:
meteor - 具有嵌套模式的 Meteor Autoform pushArray
我正在使用自动生成流星。我有一组嵌套模式,如下所示:
我正在尝试使用向数组添加地址update-pushArray
但我得到了这些宝石:
所以我尝试将它包装在一个formToDoc
钩子中的数组中:
是的。这就是我新鲜想法的极限。你有什么?
meteor - 更改 afArrayField 标头 - Meteor Autoform
我想调整某些数组字段的标题文本。我想尝试的只是更改架构中的标签,但据我所知,这并没有影响。
简单地显示“地址”。作为参考,表单模板添加标题如下:
javascript - MeteorJs aldeed-autoform,如何从布尔复选框中获取所需的值
我的代码中有布尔复选框。我的看法是,在检查时,它应该将其值返回为真,而在未检查时,它应该将其值返回为假。但我面临不同的情况,如下:
在页面的初始加载时,它显示消息:'未选中'当我选中复选框时,它显示我的值:'true' 当我取消选中复选框时,它坚持显示我的值:'true' 所以它总是显示我的值'true',即使我检查或取消检查多少次。
有人可以指导我有什么问题以及如何纠正它以获得预期的结果:
这是自动生成 HTML 代码:
这是JS代码:
这是架构代码:
github - 从分叉的 Git 仓库测试 Meteor 包
我正在使用 Nitrous.io 并且无法直接访问我的开发服务器上的包文件(不确定这是特定于它们还是所有 Meteor 项目)。
我也在使用 Autoform。我需要更改 Autoform 包中的文件中的某些内容。由于我无法直接访问它,因此我创建了 Autoform 的一个分支并在那里进行了更改。
但是...对于如何在我的开发服务器上测试此更改,我是新手并且一无所知。