You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mongoose中Validator验证器失效:媒体URL与类型关联验证无效

问题:Mongoose验证器未生效——存在mediaURL时未强制校验mediaType

需要实现的验证逻辑:当文档存在mediaURL时,必须同时设置对应的mediaType。但编写的两种Mongoose验证器均未生效,仍可保存仅包含mediaURL却未设置mediaType的文档。

第一种验证器代码

mediaURL: {
    type: String,
    default: ''
},
mediaType: {
    type: String,
    enum: ['video', 'photo', 'audio', 'none'],
    validate: {
      validator: function () {
        return( (this.mediaURL && this.mediaType) || !this.mediaURL );
      },
      message: 'There should be a mediaURL in the post to have a media type',
    }
},

第二种验证器代码

mediaType: {
    type: String,
    enum: ['video', 'photo', 'audio', 'none'],
    validate: {
        validator: function () {
            if (!this.mediaURL) {
                // No mediaURL, so mediaType is allowed to be empty
                return true;
            }
            return !!this.mediaType; // Ensure mediaType is present when mediaURL is provided
        },
        message: 'There should be a mediaURL in the post to have a media type',
    }
},

内容的提问来源于stack exchange,提问作者Marko Sami

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 22:22:02