joi icon indicating copy to clipboard operation
joi copied to clipboard

At least one of arrays nodes must be filled

Open innovaweb-dev opened this issue 2 years ago • 0 comments

Support plan

  • is this issue currently blocking your project? (yes/no): NO
  • is this issue affecting a production system? (yes/no): NO

Context

  • node version: v14.17.0
  • module version: 17.4.2
  • environment (e.g. node, browser, native): node and browser
  • used with (e.g. hapi application, another framework, standalone, ...): standalone
  • any other relevant information:

How can we help?

At least one of arrays nodes must be filled, If all arrays nodes are empty, abort validation.

const validator = Joi.array().items(Joi.object({
    day: Joi.string().required(),
    nodes: Joi.array().items(Joi.array().items(Joi.number()).length(2))
})).length(7)

//not valid
const week = [
    {day: 'monday', nodes: []},
    {day: 'tuesday', nodes: []},
    {day: 'wednessday', nodes: []},
]

//valid
const week = [
    {day: 'monday', nodes: [[5,7]]},
    {day: 'tuesday', nodes: []},
    {day: 'wednessday', nodes: []},
]

innovaweb-dev avatar Nov 04 '21 07:11 innovaweb-dev