同时将 quickForm 与集合和单独的模式一起使用似乎不起作用
Using quickForm with a collection and separate schema at the same time does not seem to work
我想在数据库中存储一个以秒为单位的时间值。
在表单中,用户应该能够将其键入为字符串 (MM:SS)。提交后,字符串 (MM:SS) 应转换为秒。这就是验证表单所依据的架构不同于用于在后端验证的架构(就在将其写入数据库之前)的原因。
所以我做了这里应该做的事情 (https://github.com/aldeed/meteor-autoform#autoform-1),我定义了两个模式,一个用于表单(time.type = "String"),另一个是我附加的集合(time.type = 数字)。
在模板中我设置了两个参数、collection="TimeItem"
和schema="SpecialFormSchema
。
最终,表单始终呈现 HTML 数字输入字段并忽略表单架构。
有人可以帮忙吗?
提前致谢!
不支持同时使用集合和架构。您必须选择其中之一。
尝试使用钩子来完成您想要做的事情:
https://github.com/aldeed/meteor-autoform#callbackshooks
它实际上可以正常工作。我的愚蠢错误是尝试使用不同的模板并在错误的模板上工作,因此没有看到任何结果。
正在工作javascript:
// schema for collection
var schema = {
time: {
label: "Time (MM:SS)",
type: Number // !!!
},
// ...
};
SongsSchema = new SimpleSchema(schema);
Songs.attachSchema(SongsSchema);
// schema for form validation
schema.time.type = String // changing from Number to String!
SongsSchemaForm = new SimpleSchema(schema);
模板的外观:
{{>quickForm
id="..."
type="insert"
collection="Songs"
schema="SongsSchemaForm"
}}
我想在数据库中存储一个以秒为单位的时间值。
在表单中,用户应该能够将其键入为字符串 (MM:SS)。提交后,字符串 (MM:SS) 应转换为秒。这就是验证表单所依据的架构不同于用于在后端验证的架构(就在将其写入数据库之前)的原因。
所以我做了这里应该做的事情 (https://github.com/aldeed/meteor-autoform#autoform-1),我定义了两个模式,一个用于表单(time.type = "String"),另一个是我附加的集合(time.type = 数字)。
在模板中我设置了两个参数、collection="TimeItem"
和schema="SpecialFormSchema
。
最终,表单始终呈现 HTML 数字输入字段并忽略表单架构。
有人可以帮忙吗? 提前致谢!
不支持同时使用集合和架构。您必须选择其中之一。
尝试使用钩子来完成您想要做的事情: https://github.com/aldeed/meteor-autoform#callbackshooks
它实际上可以正常工作。我的愚蠢错误是尝试使用不同的模板并在错误的模板上工作,因此没有看到任何结果。
正在工作javascript:
// schema for collection
var schema = {
time: {
label: "Time (MM:SS)",
type: Number // !!!
},
// ...
};
SongsSchema = new SimpleSchema(schema);
Songs.attachSchema(SongsSchema);
// schema for form validation
schema.time.type = String // changing from Number to String!
SongsSchemaForm = new SimpleSchema(schema);
模板的外观:
{{>quickForm
id="..."
type="insert"
collection="Songs"
schema="SongsSchemaForm"
}}