express-validation会抛出一个错误:错误('请提供一个validation模式')
我是Node.js的新手 我想为表单的一个字段添加一个简单的validation来testingExpress中提供的validation。 我按照https://www.npmjs.com/package/express-validation中的步骤操作
我使用了快速validation中间件。 我安装了相应的模块(express-validation和joi)。
然后,我添加了一个文件夹“validation”和文件“编辑”与以下内容:
var Joi = require('joi'); module.exports = { body: { title: Joi.string().required() } };
在处理post的path中,我添加了相应的参数:
router.post('/', validate(validation.edit), function(req, res, next)
并将具有validation规则的中间件和文件保存到variables中:
var validate = require('express-validation'); var validation = require('../validation/edit.js');
当我运行应用程序时,它会引发一个错误:错误('请提供一个validation模式')。
所以,我想知道什么validation模式是必需的,我想在哪里添加它?
问题在于如何定义您的需求。 由于在edit.js module.exports中只有一个对象,所以你不需要在validation时调用.edit。 你可以做:
router.post('/', validate(validation), function(req, res, next)
或者,您可以在validation目录中定义一个index.js文件:
exports.edit = require('./edit');
然后要求:
var validation = require('../validation/');
并保持您的中间件调用相同,因为它。 这将允许您轻松添加更多的validationtypes,只需要一个需求行。 项目的testing目录就是一个很好的例子。