无法在Collection2中访问Set Context以在CLIENT上显示无效键

时间:2015-06-01 22:03:50

标签: meteor meteor-collection2

我正在使用Collection2进行表单插入和验证。它很棒。

我唯一的问题是使用上下文来访问密钥,以便在客户端上向用户显示错误。

我有以下代码:

Common.coffee

Schemas = {}
Schemas.Journal = new SimpleSchema
    goal:
        type: String
        label: "Related Goal"
        max: 200
    description:
        type: String
        label: "Comment"
        max: 200
    likes:
        type: Number
        label: "Likes"
        min: 0
    createdBy:
        type: String
        max: 50
    createdAt:
        type: Date
        label: "Created At"

Journal.attachSchema(Schemas.Journal)
journalContext = Schemas.Journal.namedContext("insertForm")

On Client:
    Template.journalForm.events
        'submit #newEntryForm': (event) ->
            text = event.target.text.value
            Meteor.call("newJournalEntry", Session.get("activeGoal"), text)             

On Server as a Method:
        'newJournalEntry': (goalId, text) ->
            Journal.insert
                goal: goalId
                description: text
                createdAt: new Date()
                createdBy: Meteor.userId()
                likes: 0
                {validationContext: "insertForm"}, (error, result) ->
                    if error
                        console.log error.invalidKeys
                    else
                        console.log "#{result} added to Journal collection."

验证在服务器上正常工作,当插入被拒绝时,我通过终端看到正确的消息,但在客户端调用验证上下文总是返回一个空数组。 []

在服务器上执行以下任一操作,但如果我在客户端上尝试这些操作,则它们是空的:

Schemas.Journal.namedContext("insertForm").invalidKeys()

error.invalidKeys

更新 我尝试了一些关于客户端语法的尝试。相同的空数组结果。以下是尝试:

Schemas.Journal.namedContext().invalidKeys()
journalContext.invalidKeys()
Schemas.Journal.namedContext("insertForm").invalidKeys()

0 个答案:

没有答案