猫鼬-自定义验证:获取消息函数中的字段值

时间:2018-12-08 14:53:13

标签: this nodes mongoose-schema customvalidator

我已经使用Mongoose定义了一个架构。对于名为type的特定字段,我有一个自定义验证。

type: {
    type: String,
    required: [function () { return !this.countable; }, 'Please specify a type for your uncountable ingredient.'],
    validate: {
        validator(val) {
            return INGREDIENT_TYPES.includes(val)
                && !this.countable;
        },
        message(props) {
            if (this.countable) {
                return 'Ingredient is countable, type cannot be defined.';
            }
            return `${props.value} is not a valid type.`;
        },
    },
},

验证器取决于可计数的字段,该字段可以为true或false。

当成分不可计数并且我定义类型值时,会出现错误。但是,错误消息是“ ...不是有效的类型”,而它应该是“成分是可数的,无法定义类型。”

this.countable在validator()中定义,而不在message()中

如何在message()函数中获取可计数的字段值?

0 个答案:

没有答案