使用Joi(Node.js)中的外部函数进行验证
我正在Node.js Rest API中使用Joi进行验证。我有一个验证特定文档的函数,我想知道是否可以将该函数包括在Joi的验证中 例如:使用Joi(Node.js)中的外部函数进行验证,node.js,validation,joi,Node.js,Validation,Joi,我正在Node.js Rest API中使用Joi进行验证。我有一个验证特定文档的函数,我想知道是否可以将该函数包括在Joi的验证中 例如: function validateDocument (document) { return someCalculation; } const schema = Joi.object({ document: Joi.string().required().valid(validateDocument) // I want something
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);
对。您可以使用调用外部函数进行验证。下面给出了一个示例格式:
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);
},
},
],
}));