मेरे पास उन प्रमुख नामों वाला ऑब्जेक्ट है जिन्हें मैं संभवतः नहीं जानता - वे उपयोगकर्ता द्वारा बनाए जाते हैं। हालांकि मुझे पता है कि वे कौन से मूल्य (कुंजी) स्टोर करने जा रहे हैं, और वे (मान) आईएसओ स्ट्रिंग होने जा रहे हैं। मैं उन मानों को कैसे मान्य करूं?जोई ऑब्जेक्ट सत्यापन: अज्ञात कुंजी नामों वाले मानों को कैसे सत्यापित करें?
key: Joi.string().min(2).max(25)
क्या मैं पहले से ही की कोशिश की जॉय एपीआई डॉक्स पर आधारित था है:
Another benefits of using Joi.object([schema]) instead of a plain JS object is >that you can set any options on the object like allowing unknown keys, e.g:
const schema = Joi.object({ arg: Joi.string().valid('firstname', 'lastname', 'title', 'company', 'jobtitle'), value: Joi.string(), }).pattern(/firstname|lastname/, Joi.string().min(2));
मैं उदाहरण से क्या समझ गया कि है और, वैकल्पिक, मैं कैसे uknown वस्तु की चाबियाँ, यानी मान्य है arg
कुंजी Joi.object()
के key
का प्रतिनिधित्व करता है, और value
इसका प्रतिनिधित्व करता है value
।
मेरे उदाहरण:
campaign: Joi.object({
arg: Joi.string().valid('unknown'),
value: Joi.date().iso(),
}).pattern(/unknown/, Joi.string().min(2).max(25))
मेरे इनपुट;
campaign: { g_ad_adwords: "2017-01-19T11:33:26.205Z" }
मेरे त्रुटि:
"campaign" fails because ["g_ad_adwords" is not allowed]