0

使用包中的 aquickformaldeed:autoform,我们如何设置使用 省略的字段的值omitFields?该字段被省略,因为我们不希望用户更改其默认值(例如:从 更改 userId Meteor.userId()),也不想看到该字段。

例子:

{{> quickForm collection="Contacts" id="contacts-new-form" type="insert" omitFields="avatarUrl,details.active" buttonContent="Create Contact"}}
4

2 回答 2

1

如果您想省略字段,但为该字段提供默认值,您应该按照autovaluehttps://github.com/aldeed/meteor-simple-schema#autovalue 中的说明使用

或者,您可以在架构定义中定义您的 autoform 属性,并将它们放在一起,如下所述:

https://github.com/aldeed/meteor-autoform#putting-field-attribute-defaults-in-the-schema

如果这是一个更新表单并且您不是在寻找自动值,而是保留原始值,那么您也可以将该特定字段设置为隐藏输入字段,如https://github.com/aldeed/meteor-collection2所述#problems以便它仍然可以通过验证。

但我会选择可靠的自动值定义。

于 2015-01-14T23:53:48.237 回答
0

@Nyxynyx 您需要添加此代码。只需在插入之前使用钩子并添加 userId 即可。看看下面的例子,我希望这会对你有所帮助。

var postHooks = {
  before: {
    insert: function(doc) {
      if(Meteor.userId()){
        doc.userId = Meteor.userId();
      }
      
      return doc;
    }
  }
}

于 2015-04-23T09:04:08.970 回答