允许在 Joi 中指定可选参数而不指定它们
Allow optional parameters in Joi without specifying them
我对使用 Joi 在 happy 中验证请求有效负载相当陌生。我的问题如下。我有这个定义的路线:
{
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
}
有没有办法和乔伊一起做?
您可以在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)
设置allowUnknown: true
放入options
对象中。
参考资料:
https://github.com/hapijs/joi/blob/v15.1.0/API.md#validatevalue-schema-options-callback
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 使用Express捕获参数
- 参数变量出现ngTable指令问题
- AngularJS:我可以跳过函数参数回调吗
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 要求未定义JS回调参数
- 我的jQuery插件参数没有正确启动,遇到了问题
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- jquery设置为使用参数运行
- Javascript”;类“;带有参数的扩展
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 函数未将值作为参数传递
- 如何将参数传递到angularJs中的工厂
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- MVC 3页面导航和使用javascript传递参数
- 如何使用 Joi 清理查询参数以获得快乐
- 使用hapijs/joi验证参数之间的关系
- Hapijs和Joi:验证存在的查询参数:'禁止'
- 允许在 Joi 中指定可选参数而不指定它们