Yêu cầu thg 4 23, 2022 2:31 CH 94 0 1
  • 94 0 1
+1

Validate param và body trong express

Chia sẻ
  • 94 0 1

Cho mình hỏi là Mình đang làm cái validate ObjectId mongodb. Mình đang cần check cái ObjectId có hợp lệ không, vì trong này có nhiều cái sử dụng Id nên mình viết riêng một cái validateObjectId Lúc đó mình yêu cầu cần biết cái param là gì để validate mình dùng Joi Nhưng k hiểu sao ở route mình truyển tham số vào nó lại báo lỗi

router
  .route('/:documentId/receivers/:receiverId')
  .put(
    paramValidation.objectId(['documentId', 'receiverId']),
    documentValidation.updateReadDate,
    documentController.updateReadDate
  );

Lỗi như hình image.png

Mình thử cách khác là validate param ở trong chính cái hàm validate tiếp theo không cần dùng validateObjectId mà lúc này mình phải validate cả param và cả body lúc này mình viết ra 2 validate Joi Không biết có cách nào validate trong 1 cái không ạ

1 CÂU TRẢ LỜI


Đã trả lời thg 4 29, 2022 10:07 CH
+1
  • Hi, bạn có thể sử dụng class-validator kết hợp cùng class-transformer để validate input.
  • Về phần lỗi kia có thể do put chỉ nhận tham số kiểu RequestHandler (của express), còn paramValidation.objectId(['documentId', 'receiverId']) thì không return kiểu RequestHandler.
Chia sẻ
Avatar HungHocHoi @HungSmeb
thg 4 30, 2022 4:00 SA

Cảm ơn bạn, do mình làm từ đầu bằng joi, để mình thử 2 cái kia xem

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí