2016-06-10 5 views
10

मुझे बैकएंड करने के लिए ऑब्जेक्ट्स की एक सरणी मिल रही है, जहां प्रत्येक ऑब्जेक्ट में सेवा का नाम होता है। संरचना की तरहजोई का उपयोग कर वस्तुओं की सरणी को कैसे सत्यापित करें?

[{"serviceName":"service1"}, 
{"serviceName":"service2"},..] 

नीचे जब मैं बैकएंड पर सरणी मिलता है, मैं सरणी में हर वस्तु SERVICENAME संपत्ति है कि मान्य करने के लिए चाहते हैं लग रहा है।

मैंने निम्नलिखित कोड लिखा था, लेकिन भले ही मैं वैध सरणी पास करता हूं, मुझे सत्यापन त्रुटि मिल रही है।

var Joi = require('joi'); 
var service = Joi.object().keys({ 
    serviceName: Joi.string().required() 
}); 

var services = Joi.array().ordered(service); 

var test = Joi.validate([{serviceName:'service1'},{serviceName:'service2'}],services) 

ऊपर कोड के लिए, मैं हमेशा संदेश

"value" at position 1 fails because array must contain at most 1 items 

उत्तर

18

आइटम काम करेंगे साथ आदेश दिया की जगह के साथ सत्यापन त्रुटि हो रही है।

var Joi = require('joi'); 
var service = Joi.object().keys({ 
    serviceName: Joi.string().required() 
}); 

var services = Joi.array().items(service); 

var test = Joi.validate([{serviceName:'service1'}, {serviceName:'service2'}],services) 
संदर्भ क्लिक के लिए

here

संबंधित मुद्दे