猫鼬:如何验证字段取决于其他字段值

时间:2021-04-13 21:20:12

标签: mongodb express validation mongoose

我想要求字段取决于其他字段值;我有字段 paypaleEmail ,我希望在字段角色为“特定”时需要它,否则不需要。

 paypalEmail: {
        type: String,
        required: function () { return this.role == 'particular', 'Paypal Email is required' },
        trim: true,
        validate: {
            validator(email) {
                return validator.isEmail(email)
            },
            message: '{VALUE} is not a valid email!',
        },
        lowercase: true,
    },

当我尝试发送请求时我需要 paypalEmail

1 个答案:

答案 0 :(得分:1)

“必需”函数应该返回一个布尔值。

你的

function () { return this.role == 'particular', 'Paypal Email is required' }

无条件返回字符串 'Paypal Email is required',该字符串在转换为 bool 时计算为 true

function () { return this.role == 'particular' }

应该做你所期望的。