2

我正在玩 Meteor 和 autoform。

我的设置

我有一个输入字段(类型“时间”)作为我的“歌曲”集合模式的一部分,它强制用户输入语法[num][num]:[num][num]。这是我的架构:

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

我想做的事

在点击“提交”之后但在验证之前我想将字符串(例如“03:45”)转换为秒(数字),以便验证通过而不会出现错误。

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

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

谢谢你的帮助!

4

1 回答 1

0

使用自动生成钩子。您正在寻找的信息在这里: 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.
    }
});

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

于 2015-04-21T21:37:37.270 回答