+1
Validate param và body trong express
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
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 ạ
Add a comment
1 ANSWERS
+1
- Hi, bạn có thể sử dụng
class-validator
kết hợp cùngclass-transformer
để validate input. - Về phần lỗi kia có thể do
put
chỉ nhận tham số kiểuRequestHandler
(củaexpress
), cònparamValidation.objectId(['documentId', 'receiverId'])
thì không return kiểuRequestHandler
.
Cảm ơn bạn, do mình làm từ đầu bằng joi, để mình thử 2 cái kia xem