【发布时间】:2014-12-09 12:46:34
【问题描述】:
我正在尝试使用express-validator 构建一个 Node.js 应用程序,这样我就可以像这样验证正文中的请求参数 -
req.checkBody('email_id', 'Invalid email ID!').notEmpty().isEmail();
现在我正在尝试构建一个大的 JSON 配置文件,该文件将包含应用程序中每个路由的所有字段及其规则(例如函数名称,例如 isEmail())。我想写一个中间件来拦截每个请求,找出路由,从 JSON 文件中获取字段及其验证规则,然后运行这些规则。配置文件看起来像这样 -
{
"VALIDATION_RULES": {
"/createUser": {
"RULES": {
"email_id": {
"message": "Invalid email ID!",
"rules": ["notEmpty","isEmail"]
}
}
}
}
}
我可以查看 express-validator 模块的导出以获取所有可用的验证函数名称。如果它们是独立的函数调用,我会看到如何只使用函数名称的字符串调用函数,如 here 和 here 所示。
如何选择规则(notEmpty 或 isEmail),它们是 JSON 中的字符串,将它们转换为函数并将它们链接到 req.checkBody($field, $field.message)?
【问题讨论】:
标签: javascript json node.js validation