目前,我正在试验一些投入,在表达利用 express-验证程序. 我知道这是典型的通过它作为一个独立的中间件进路线,但我需要的 res
对象,所以我不得不把它写在你的方式见下文。
一部分,我挣扎是的 custom
验证程序。 我想它叫异功能 store.todoListTitleExists(title)
可查询的数据库,并检查,如果一个标题已经存在。 如果标题并不存在,我的意图是要拯救一条错误消息,我可以稍后显示作为一个闪光信息。
目前,这种代码不起作用。 我已经看过的文件,但我似乎无法找出如何使这个定义验证程序+错误消息的正常工作,因为它要求一个异功能。 任何帮助将apprecated.
谢谢!
app.post("/lists/:todoListId/edit",
(req, res) => {
let store = res.locals.store;
let todoListId = req.params.todoListId;
let title = req.body.todoListTitle;
await body('todoListTitle')
.trim()
.isLength({ min: 1 })
.withMessage("The list title is required.")
.isLength({ max: 100 })
.withMessage("The list title cannot be over 100 characters")
.custom(store.todoListTitleExists(title).then(titleExists => {
if(titleExists) return Promise.reject('Title already exists');
}))