Создать флэш-сообщение при сбое проверки в KeystoneJS

Мне нужно, чтобы сообщения об ошибках флэш-памяти менялись в зависимости от типа ошибки проверки. Прямо сейчас он всегда говорит: Database error, если одна из моих пользовательских проверок не проходит.

Мои пользовательские проверки происходят в моей модели, а не в моих контроллерах, поэтому я не уверен, как перемещаться между ними.

Вот одна из моих пользовательских проверок:

User.schema.path('email').validate(function (value) {
if (validator.isEmpty(value) || validator.isEmail(value)) {
    return true;
}
else {
    return false;
}
});

Проверка работает отлично, это просто флеш-сообщение, которое я хочу изменить.


person Zak Singh    schedule 11.07.2017    source источник


Ответы (1)


Вы также можете передавать собственные сообщения об ошибках в функцию validate, просто соедините их с функцией, заключив их в массив, например так:

User.schema.path('email').validate([function (value) {
if (validator.isEmpty(value) || validator.isEmail(value)) {
    return true;
}
else {
    return false;
}
}, "WRONG!"]);
person Creynders    schedule 12.07.2017
comment
Сначала я пробовал это, но это не имело никакого эффекта. Он по-прежнему отображает только database error - person Zak Singh; 12.07.2017
comment
тогда это похоже на баг - person Creynders; 12.07.2017