Mongoose - Пользовательская проверка: получить значение поля в функции сообщения - PullRequest
0 голосов
/ 08 декабря 2018

Я определил схему, используя 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.`;
        },
    },
},

Валидатор зависит от счетного поля, которое может быть истинным или ложным.

Когда ингредиент не исчисляется и яопределить значение типа, я получаю ошибку.Тем не менее, сообщение об ошибке «... не является допустимым типом», в то время как «Ингредиент исчисляемый, тип не может быть определен».

this.countable определен в validator (), но не вmessage ()

Как получить счетное значение поля в функции message ()?

...