Разрешить необязательные параметры в Joi без указания их
Я довольно плохо знаком с использованием Joi для проверки полезных нагрузок в хапи. Мой вопрос заключается в следующем. У меня есть этот определенный маршрут:
{
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
}
Есть ли способ сделать это с Джой?
1 ответ
Решение
Вы можете установить allowUnknown
в true
в options
:
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
объект.
Ссылка: