Node.js 如果对象不是空的,如何签入express验证器?
在express validator中,我想检查一个对象是否为空,即它是否至少有一个键值对。但是,使用Node.js 如果对象不是空的,如何签入express验证器?,node.js,express-validator,Node.js,Express Validator,在express validator中,我想检查一个对象是否为空,即它是否至少有一个键值对。但是,使用notEmpty()或not().isEmpty()不起作用 更清楚地说,让a作为主体请求的字段:如果a={}应该引发错误,如果a={'check12':0}(例如),则不应该引发错误 我试过了 check('a').exists().withMessage("MISSING").notEmpty().withMessage("EMPTY") 但是如果当
notEmpty()
或not().isEmpty()
不起作用
更清楚地说,让a
作为主体请求的字段:如果a={}
应该引发错误,如果a={'check12':0}
(例如),则不应该引发错误
我试过了
check('a').exists().withMessage("MISSING").notEmpty().withMessage("EMPTY")
但是如果当
a={}
我以不同的方式执行此操作时,这不会引发任何EMPTY
错误
const { check, validationResult } = require('express-validator');
app.post('/form', [
check('name').not().isEmpty()
], (req, res) => {
const errors = validationResult(req)
if (!errors.isEmpty())
{
return res.status(400).json({ errors:"Missing Name"})
}
})
如果要查看对象是否为空,一个解决方案是
!!Object.keys({}).length