node.js - 在 Joi (Node.js) 中使用外部函数进行验证
问题描述
我在我的 Node.js Rest API 中使用 Joi 进行验证。我有一个验证特定文档的功能,我想知道是否可以在 Joi 的验证中包含该功能。
例子:
function validateDocument (document) {
return someCalculation;
}
const schema = Joi.object({
document: Joi.string().required().valid(validateDocument) // I want something like that
});
const { error, value } = schema.validate(something);
解决方案
是的。您可以使用Joi 扩展调用外部函数进行验证。下面给出了一个示例格式:
const customSchema = Joi.extend(joi => ({
base: joi.string(),
name: 'customValidation',
rules: [
{
name: 'validate',
validate(params, value, state, options) {
// call custom function and return the result
// for instance:
return validateDocument(value);
},
},
],
}));
推荐阅读
- asp.net-mvc - 有必要在没有表单的 ajax 帖子中使用 __RequestVerificationToken 吗?
- numpy - “numpy.ndarray”对象没有属性“as_matrix”
- ios - 如何修复分页,我的功能将无法正常工作 Swift
- python - 云数据点的加权一维插值
- linux - 通过文件系统将 Gitlab 存储库复制到另一个 Gitlab 服务器
- c# - 如何避免超时并执行存储过程 Azure SQL 数据库
- javascript - 如何使用扩展运算符更新对象
- php - 无法将时间戳从表单数据保存到 sql 数据库
- algorithm - 如何为最小生成树增加弹性?
- powershell - 实现“按 Enter 跳过”