Node.js express验证引发错误:错误(';请提供验证架构';)
我是Node.js的新手。我想为表单的一个字段添加一个简单的验证,以测试Express中提供的验证。我跟着台阶走 我使用了express验证中间件。我安装了相应的模块(express validation和joi) 然后,我添加了文件夹“验证”和文件“编辑”,内容如下: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() } }; 在处理来自表单
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。政府有一个很好的例子