ฉันกำลังพยายามจะพิสูจน์ความถูกต้องของบางอย่า inputs ในแสดงการใช้ แสดงออก-ตัวตรวจความถูกต้อง. ฉันรู้ว่ามันคือความช่วยเหลือจาต้องผ่านมันเป็นการแยกกัน middleware เข้าไปในเส้นทางแต่ฉันต้องการเข้าถึง res
วัตถุดังนั้นฉันต้องเขียนมันในทางที่คุณเห็นทางด้านล่างนี้
คนส่วนหนึ่งที่ฉันกำลังพยายามอย่างหนักกับเป็น custom
ตัวตรวจความถูกต้อง. ฉันอยากให้เรียกร asynchronous ฟังก์ชัน store.todoListTitleExists(title)
นั่นค้นข้อมูลเป็นข้อมูลแล้วเช็คว่ามีชื่อนี้อยู่แล้ว ถ้าหัวเรื่องไม่มีตัวตนของฉันคือความตั้งใจที่จะบันทึกข้อผิดพลาดเกิดขึ้นระหว่างข้อความซึ่งฉันสามารถต่อการแสดงตอนเป็นแฟลชกข้อความไว้
ตอนนี้ดรหัสนี้ไม่ได้ผลหรอก ฉันมองผ่านเอกสารแต่ฉันไม่สามารถดูเหมือนจะคิดหาวิธีที่จะทำให้มันกำหนดเองตัวตรวจความถูกต้อง+ข้อความผิดพลาดงานดีๆหน่อยตั้งแต่มันเรียกว่าเป็น asynchronous ฟังก์ชัน. ที่เขาแนะนำให้ผูกผ้ากันเปื้อนจะเป็น 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');
}))