2

Meteor と autoform で遊んでいます。

私のセットアップ

ユーザーに構文[num][num]:[num][num]を入力させる「曲」のコレクションのスキーマの一部として、入力フィールド (タイプ「time」) があります。これは私のスキーマです:

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

私がしたいこと

「送信」を押した後、検証の前に、文字列(「03:45」など)を秒(Number)に変換して、検証がエラーなしで合格するようにします。

また、データベースからデータを読み取るときに、文字列に変換して、入力フィールドに値として収まるようにします。

autoform、collection2、または simple-schema のドキュメントで答えを見つけることができませんでした (または、少なくとも理解できませんでした ;-)

ご協力いただきありがとうございます!

4

1 に答える 1

0

autoform フックを使用します。あなたが探している情報はここにあります: 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 に答える