我在一个Node.js项目中使用了express-validator推荐的V4语法:
const { check, validationResult } = require('express-validator/check');
const { matchedData } = require('express-validator/filter');和
app.post('/users/add/',[
check('first_name')
.isLength({ min: 1 }).withMessage('A first name is required')],
(req, res, next) => {
var errors = validationResult(req);
if (errors) {
..etc请注意,我使用的是现代语法,并且没有以下代码(根据快速验证器README.md文件):
const expressValidator = require('express-validator');
app.use(expressValidator());如何在运行验证之前从输入字段中裁剪空格?
发布于 2017-09-14 16:04:22
您应该在.check()之前使用.trim(),如下所示:
check('first_name').trim().isLength({ min: 1 }).withMessage('A first name is required')]希望这能有所帮助!
发布于 2017-09-15 14:05:17
下面的工作可能会有所帮助,尽管我认为最好的解决方案是以流畅的方式支持卫生设施。我的工作的缺点是,输入的处理现在在两个地方。
const { trim }= require('express-validator').validator
app.post('/users/add/',(req,res,next) => { req.body.first_name = trim(req.body.first_name);req.body.last_name = trim(req.body.last_name);req.body.email = trim(req.body.email);next();},check('first_name') .isLength({ min: 1}).withMessage(‘需要名字’),(req,res,next) => { var errors = validationResult(req);if (错误){ ..etc
https://stackoverflow.com/questions/46213401
复制相似问题