typescript - Hvordan validere egendefinerte typer med Joi?
La oss si at vi har denne TypeScript-koden:
export class Dog {
name = 'Fido'
favoriteFood: Food | null = null
}
export class Food {
name: string | null = null
}
export const DogSchema = Joi.object({
name: Joi.string(),
favoriteFood: Joi.object() // How to configure this correctly?? I would prefer to use FoodSchema in this line somehow
})
export const FoodSchema = Joi.object({
name: Joi.string(),
})
const fido = new Dog()
fido.favoriteFood = new Food()
const res1 = DogSchema.validate(fido) // Gives no error!!
const res2 = FoodSchema.validate(fido.favoriteFood) // Gives expected error: "name" must be a string
Hvordan kan jeg konfigurere Joi slik at når jeg validerer fido, validerer valideringen også fidos favorittmat?
Svar #1
Svaret var ganske enkelt og rett frem:
export const DogSchema = Joi.object({
name: Joi.string(),
favoriteFood: FoodSchema // Just put the schema here!
})
Takk, Ankh!
