如何传递模式类型:对象的关键规则
How to pass schema type: Object's key rules
我正在尝试了解如何使用 Meteor-Collection2 验证对象。我可以在下面的代码中更好地解释:
// This is the object structure to validate
// const obj = {
// name: 'Test',
// active: true,
// }
Test.schemaObj = {
someOtherName: {
type: String, // Not the same as obj variable
},
testType: {
type: Object,
// The goal is to define rules for validation for
// things that this will contain.
},
// Inside the object: {
// type: String,
// required: true,
//},
// Inside the object: {
// type: Boolean,
// required: true,
//},
};
我了解 required 在未定义时自动设置为 true。
我的目的是基本上列出对象必须具有的所有键及其验证规则。我知道对象数组是如何工作的,我只是不确定对象验证的语法是什么。
我浏览了文档和堆栈溢出,但无法在网上的任何地方找到明确显示语法的地方。
我确信我遗漏了一些基本的东西,但是,作为新手,我希望有人能帮助我。
我知道您想验证哪个 testType
对象。那么有两种方式:
您可以添加黑框:是的,这将允许该对象具有任何结构;
您需要定义每个 属性 对象,如下所示:
Test.schemaObj = {
someOtherName: {
type: String, // Not the same as obj variable
},
testType: {
type: Object,
// The goal is to define rules for validation for
// things that this will contain.
},
"testType.attribute1": {
type: String,
required: true,
},
"testType.attribute2": {
type: Boolean,
required: true,
},
};
我正在尝试了解如何使用 Meteor-Collection2 验证对象。我可以在下面的代码中更好地解释:
// This is the object structure to validate
// const obj = {
// name: 'Test',
// active: true,
// }
Test.schemaObj = {
someOtherName: {
type: String, // Not the same as obj variable
},
testType: {
type: Object,
// The goal is to define rules for validation for
// things that this will contain.
},
// Inside the object: {
// type: String,
// required: true,
//},
// Inside the object: {
// type: Boolean,
// required: true,
//},
};
我了解 required 在未定义时自动设置为 true。
我的目的是基本上列出对象必须具有的所有键及其验证规则。我知道对象数组是如何工作的,我只是不确定对象验证的语法是什么。
我浏览了文档和堆栈溢出,但无法在网上的任何地方找到明确显示语法的地方。
我确信我遗漏了一些基本的东西,但是,作为新手,我希望有人能帮助我。
我知道您想验证哪个 testType
对象。那么有两种方式:
您可以添加黑框:是的,这将允许该对象具有任何结构;
您需要定义每个 属性 对象,如下所示:
Test.schemaObj = {
someOtherName: {
type: String, // Not the same as obj variable
},
testType: {
type: Object,
// The goal is to define rules for validation for
// things that this will contain.
},
"testType.attribute1": {
type: String,
required: true,
},
"testType.attribute2": {
type: Boolean,
required: true,
},
};