在KeystoneJS中验证失败时创建Flash消息

时间:2017-07-11 22:41:18

标签: javascript validation model-view-controller keystonejs flash-message

我需要根据验证错误的类型更改flash错误消息。现在它总是说:Database error如果我的一个自定义验证没有通过。

我的自定义验证发生在我的模型中,而不是在我的控制器中,因此我不确定如何在两者之间进行遍历。

以下是我的自定义验证之一:

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

验证效果很好,它只是我想要更改的Flash消息。

1 个答案:

答案 0 :(得分:0)

您也可以将自定义错误消息传递给validate函数,只需将其与函数配对,方法是将其包装在一个数组中,如下所示:

User.schema.path('email').validate([function (value) {
if (validator.isEmpty(value) || validator.isEmail(value)) {
    return true;
}
else {
    return false;
}
}, "WRONG!"]);