Node.js express验证引发错误:错误(';请提供验证架构';)

Node.js express验证引发错误:错误(';请提供验证架构';),node.js,validation,express,Node.js,Validation,Express,我是Node.js的新手。我想为表单的一个字段添加一个简单的验证,以测试Express中提供的验证。我跟着台阶走 我使用了express验证中间件。我安装了相应的模块(express validation和joi) 然后,我添加了文件夹“验证”和文件“编辑”,内容如下: var Joi = require('joi'); module.exports = { body: { title: Joi.string().required() } }; 在处理来自表单

我是Node.js的新手。我想为表单的一个字段添加一个简单的验证,以测试Express中提供的验证。我跟着台阶走

我使用了express验证中间件。我安装了相应的模块(express validation和joi)

然后,我添加了文件夹“验证”和文件“编辑”,内容如下:

var Joi = require('joi');

module.exports = {
    body: {
        title: Joi.string().required()
    }
};
在处理来自表单的帖子的路由中,我添加了适当的参数:

router.post('/', validate(validation.edit), function(req, res, next)
并将带有验证规则的中间件和文件保存到VAR:

var validate = require('express-validation');
var validation = require('../validation/edit.js');
当我运行应用程序时,它抛出一个错误:error('请提供一个验证模式')


因此,我想知道需要什么样的验证模式以及我应该在哪里添加它?

问题在于如何定义需求。由于edit.js module.exports中只有一个对象,因此不需要在验证时调用.edit。您只需执行以下操作:

router.post('/', validate(validation), function(req, res, next)
或者,您可以在验证目录中定义index.js:

exports.edit = require('./edit');
然后要求它:

var validation = require('../validation/');
让你的中间件调用保持原样。这将允许您轻松添加更多验证类型,只需一行require。政府有一个很好的例子