Actualmente estoy tratando de validar algunos de los insumos de manera Expresa el uso de express-validador. Sé que es típico para pasar como un tema independiente de middleware en la ruta, pero yo necesitaba el acceso a la res
objeto, de modo que tenía que escribirlo en la forma en la que ves a continuación.
La parte que estoy luchando con el custom
validador. Me gustaría que se llame a una función asíncrona store.todoListTitleExists(title)
las consultas de base de datos y comprueba si el título ya existe. Si el título no existe, mi intención es guardar un mensaje de error que puedo posterior de la pantalla como un mensaje flash.
En la actualidad, este código no funciona. He mirado a través de la documentación, pero me parece que no puede averiguar cómo hacer que este validador personalizado + mensaje de error funcione correctamente, ya que llama a una función asíncrona. Cualquier ayuda sería apprecated.
Gracias!
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');
}))