【发布时间】:2020-04-24 02:36:27
【问题描述】:
我正在将一个函数传递给 mongoose 架构中所需的验证器,但如果我不向该字段传递任何值,它就不会触发。
在文档中说:
验证器不会在未定义的值上运行。唯一的例外是必需的验证器。
参考:https://mongoosejs.com/docs/validation.html
如果我传递一个函数,它不会被应用吗?
编辑 - 共享代码:
我的字段定义:
field: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Model',
required: !isBlock,
autopopulate: true
}
没有触发的函数:
function isBlock() {
return this.type === 'block'
}
【问题讨论】:
-
请分享代码??
-
请分享代码??
-
@MaheshBhatnagar 共享 ;)
-
您不应该打电话给
isBlock()而不仅仅是引用它吗?!someFunction === undefined所以当你真的想要isBlock()的结果时,你将required设置为false。
标签: javascript node.js mongodb validation mongoose