0

我需要根據驗證錯誤的類型更改閃存錯誤消息。現在它總是說:Database error如果我的自定義驗證之一沒有通過。在KeystoneJS驗證失敗時創建Flash消息

我的自定義驗證發生在我的模型中,而不是在我的控制器中,所以我不知道如何在兩者之間進行遍歷。

這裏是我的自定義的驗證之一:

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

驗證完美的作品,它只是我想改變閃光燈的消息。

回答

0

你可以通過自定義錯誤消息的validate功能好,只是通過包裝它在陣列中,像這樣與功能配對:

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

我最初嘗試這一點,但它沒有任何效果。它仍然只顯示'數據庫錯誤' –

+0

,聽起來像一個錯誤 – Creynders