راکت

استفاده از express validator در کنترلر ها

3 پاسخ

سلام
در نسخه ۶ به بعد express validator نمی شود با استفاده از app.use به صورت میدلور validator را به برنامه اضافه اش کرد !
و پیام validator not a function دریافت میکنیم.
میخواستم ببینم راه حل چیه و چطور میتونم داخل کنترلر ها ازش استفاده کنم.
نکته : ترجیحا نمیخواهم فایل روت رو شلوغ کنم و اونجا ازش استفاده کنم.
اگر برای اعتبار سنجی داخل کنترل ها راه بهتری دارید خوشحال میشم باهام در اشتراک بزارید.

ثبت پرسش جدید

پاسخ‌ها

3
امیررضا میرحسنی
امیررضا میرحسنی
@mirhassani

سلام
شما باید express validator رو به صورت زیر، در یک میدلویر فراخوانی کنید:

const { check } = require('express-validator');

سپس به شکل زیر استفاده کنید:

handle() {
    return [
        check('name')
            .isLength({ min : 3 })
            .withMessage('sample message')

        check('label')
            .not().isEmpty()
            .withMessage('sample message'),
        ]
}
zahra ghasemi
zahra ghasemi
@zghasemi891

@mirhassani
سلام وقتتون بخیر شما می دونید اگر بخوام فیلد پسوورد رو با فیلئ تکرار پسوورد چک کنم که ایا یکسان هستن یا نه از همین روشی که گفتید از چه متدی باید استفاده کنم؟ مثلا برای تعداد کاراکتر از isLength استفاده شده برای مقایسه دو تا فیلد باید چکار کنم؟ ممنونم

شاید پاسخ شما همین‌جا باشد

محمد
محمد
@MPLPanahi

سلام
از این روش استفاده کنین

  check('confirmPassword', 'Passwords do not match').custom((value, {req}) => (value === req.body.password)),

اینجا توضیحات کامل رو نوشته
Express Validator Tutorial

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام