使用 meteor 的自动表单在客户端/服务器上操作字段内容

Manipulating field content on client / server using autoform for meteor

我正在玩弄 Meteor 和 autoform。

我的设置

我有一个输入字段(类型 "time")作为我的 "Songs" 集合模式的一部分,它强制用户输入语法 [num][num ]:[数量][数量]。 这是我的架构:

time: {
    type: Number,
    label: "Time",
    optional: true,
    autoform: {
        afFieldInput: {
            type: 'time'
        }
    }
}

我想做什么

点击 "submit" 之后 验证之前 我想 转换字符串 (例如“03:45”)到秒(数字) 以便验证通过而没有错误。

另外:从数据库中读取数据时,我想将其转换回字符串,以便它作为值适合输入字段。

我在自动表单、collection2 或 simple-schema 的文档中找不到答案(或者至少不理解 ;-)

感谢您的帮助!

使用自动表单挂钩。您正在寻找的信息在这里: https://github.com/aldeed/meteor-autoform#callbackshooks

更具体地说,您正在寻找的是:

AutoForm.hooks({
  someFormId: {
    formToDoc: function(doc) {
        // Called every time an insert or typeless form
        // is revalidated, which can be often if keyup
        // validation is used.
    },
    docToForm: function(doc, ss) {
        // Called whenever `doc` attribute reactively changes, before values
        // are set in the form fields.
    }
});

可以在每个挂钩中修改文档,特别是当它进入集合时以及当它被从集合中被动拉出时。