Untitled
unknown
plain_text
a year ago
1.6 kB
9
Indexable
import Joi, { CustomHelpers } from 'joi'; interface Item { coverDescription: string; coverageLimit: number; } interface ListedItems { contents: Item[]; personalPossessions: Item[]; } const schema = Joi.object({ listedItems: Joi.object({ contents: Joi.array().items( Joi.object({ coverDescription: Joi.string().required(), coverageLimit: Joi.number().min(40000).required() }) ).required(), personalPossessions: Joi.array().items( Joi.object({ coverDescription: Joi.string().required(), coverageLimit: Joi.number().min(10000).required() }) ).required() }).required() }); // Example data const data: ListedItems = { listedItems: { contents: [ { coverDescription: "Retail-TV", coverageLimit: 40000 }, // { coverDescription: "Retail-Laptop", coverageLimit: 30000 } // Uncomment to see validation failure ], personalPossessions: [ { coverDescription: "Retail-Mobile", coverageLimit: 10000 }, // { coverDescription: "Retail-Tablet", coverageLimit: 8000 } // Uncomment to see validation failure ] } }; // Validate data against schema const { error, value } = schema.validate(data); if (error) { // Handle validation errors console.error('Validation error:', error.details); } else { // Valid data console.log('Valid data:', value); }
Editor is loading...
Leave a Comment