[英]Allow optional parameters in Joi without specifying them
我很擅长使用Joi来验证hapi中的请求有效负载。 我的问题如下。 我有这个定义的路线:
{
method: 'POST',
path: '/foo/bar',
config: {
description: 'foo.bar',
handler: handlers.foo,
auth:false,
tags: ['api'],
validate: {
payload: {
email : Joi.string().required(),
password : Joi.string().required(),
}
}
}
}
电子邮件和密码是我要求的属性。 但是,我想允许其他属性而不必全部指定它们。 例如:
{
email: foo@bar.com,
password: fooPass,
name: myName,
surname: mySurname
}
Joi有办法做到吗?
您可以在options
中将allowUnknown
设置为true
:
validate: {
payload: {
email : Joi.string().required(),
password : Joi.string().required(),
},
options: {
allowUnknown: true
}
}
options
参数在验证时传递给Joi 。
对于当前版本的Joi(v15.1.0),在做的时候
Joi.validate(value, schema, options)
set allowUnknown: true
进入options
对象。
参考 :
https://github.com/hapijs/joi/blob/v15.1.0/API.md#validatevalue-schema-options-callback
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.