Я пытаюсь выполнить проверки с использованием express validator
Мое приложение. js, как показано ниже
//importing the express
const express=require('express');
//initializing the express
const app=express();
const morgan=require('morgan');
const bodyparser = require('body-parser');
const mongoose = require('mongoose');
const expressValidator = require('express-validator');
//mongoose.connect("mongodb://localhost:8080/mern",{useNewUrlParser: true,useUnifiedTopology: true});
const postroutes=require('./routes/postsroute');
app.use(morgan('dev'));
app.use(bodyparser.json());
mongoose.connect("mongodb://localhost:27017/mern",{ useNewUrlParser: true,useUnifiedTopology: true}, (err) => {
if(err) console.log(err);
else console.log("connected to mongodb");
});
app.use('/api',postroutes);
app.use(expressValidator());
app.listen('3030',() => {
console.log("listening to port 3030");
});
Мой express код валидатора, как показано ниже (который добавляется в отдельные валидаторы файлов. js)
const { check, validationResult } = require('express-validator');
exports.createostsvalidator=(req,res,next) =>{
check('title',"title cannot be empty").notEmpty();
check('title',"Title must be between 2 to 10").isLength({min:2,max:10});
check("body","Body cannot be empty").notEmpty();
check("body","Body should be min 5 and max 100 chars").isLength({min : 5,max:100});
const errors = req.validationerrors();
if(errors){
const firsterror = errors.map((error)=> error.msg)[0];
return res.status(400).json({error : firsterror});
}
next();
};
Мой маршрут такой, как показано ниже
router.post('/createpost',validators.createostsvalidator,createpost);
Может ли кто-нибудь помочь с этим, что можно сделать