Vocês estão utilizando o express-validator muito antigo, consegio com o 5.3.1.
install express-validator@5.3.1
porem gostaria de saber como utilizar o novo express-validator ja na versão 6.
obrigado.
Vocês estão utilizando o express-validator muito antigo, consegio com o 5.3.1.
install express-validator@5.3.1
porem gostaria de saber como utilizar o novo express-validator ja na versão 6.
obrigado.
Andrew, boa tarde!
Você pode passar as verificações como segundo parâmetro do seu controller.
app.post('/user', [
check('username').isEmail(),
check('password').isLength({ min: 5 })
], (req, res) => {
//Implementação do controller
});
Além disso, você deve verificar o resultado dessa verificação, isso já dentro da função de callback
app.post('/user', [
check('username').isEmail(),
check('password').isLength({ min: 5 })
], (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(422).json({ errors: errors.array() });
}
});
Por último isso não irá funcionar caso você não importe a lib no começo do seu arquivo
const { check, validationResult } = require('express-validator');
Já depois da verificação pode ser feito oq quer que tenha que ser feito pelo controller.
const { check, validationResult } = require('express-validator');
app.post('/user', [
check('username').isEmail(),
check('password').isLength({ min: 5 })
], (req, res) => {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(422).json({ errors: errors.array() });
}
User.create({
username: req.body.username,
password: req.body.password
}).then(user => res.json(user));
});
Espero ter ajudado e bons estudos!