2016-06-10 18 views
10

Otrzymuję tablicę obiektów do zaplecza, gdzie każdy obiekt zawiera nazwę usługi. Struktura wygląda poniżejJak sprawdzić tablicę obiektów za pomocą Joi?

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

kiedy się tablicę w backend, chcę potwierdzić, że każdy obiekt w tablicy ma właściwość ServiceName.

Napisałem poniższy kod, ale mimo że przekażę prawidłową tablicę, otrzymuję komunikat o błędzie sprawdzania poprawności.

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) 

Na powyższym kodzie, jestem zawsze otrzymuję błąd sprawdzania poprawności z komunikatem

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

Odpowiedz

18

zastępującego uporządkowaną z przedmiotów zadziała.

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) 

dla odniesienia kliknięcia here

Powiązane problemy