У меня есть схема, подобная следующей.что мне нужно, это когда у меня есть поле _id в объекте адреса, тогда adressJoiSchema не должен применяться, а когда у него нет поля _id, тогда должна применяться adressJoiSchema.Но каждый раз это увольнение проверок по адресуJoiSchema
const schema = joi.object({
name: joi.string().min(3).max(50).required(),
address: joi.
object({ _id: joi.string() }).allow(null),
bankdetails: joi.array().items(bankValidate).optional(),
location: joi.object({
type: joi.string().optional(),
coordinates: joi.array().optional()
}).optional(),
isactive: joi.boolean().default(true)
}).
when(
joi.object({
address: joi.object().keys({
_id: joi.string().exist()
})
}),
{
otherwise: joi.object({
address: joi.object(adressJoiSchema)
})
}
)
const adressJoiSchema = {
userid: joi.objectid(),
villagename: joi.string().min(3).
max(50).required(),
city: joi.string().min(3).max(50),
district: joi.string().min(3).max(50),
state: joi.string().min(3).max(50),
zipcode: joi.number().positive().optional()
}