Estoy usando joi@^17.4.0 y tengo un esquema que se ve así:
settings: Joi.object({ isHidden: Joi.boolean(), payoutData: Joi.object({ email: Joi.string().email(), }), }),
Me gustaría ingresar la cadena 'settings.isHidden'
o 'settings.payoutData.email'
sin codificar cada una de estas cadenas en el esquema. ¿Hay alguna manera de que pueda hacer que joi sepa que estas cadenas son válidas según el esquema de objeto que ya tengo? Actualmente, cuando intento validar estas cadenas, aparece un error de validación que dice que esas claves no están permitidas.
Objeto de ejemplo a validar:
{ 'settings.isHidden': false }
Su esquema Joi:
settings: Joi.object({ isHidden: Joi.boolean(), payoutData: Joi.object({ email: Joi.string().email(), }), }),
dice que la settings
(presumiblemente una propiedad de un objeto) es un objeto que tiene dos propiedades:
isHidden
, un booleano, ypayoutData
, un objeto con la propiedad email
, una cadenaSu objeto de ejemplo
{ 'settings.isHidden': false }
es un objeto con una sola propiedad settings.isHidden
y falla la validación.
Ergo, su objeto falla en la validación contra el esquema.