Tôi nhận được một mảng đối tượng để phụ trợ, trong đó mỗi đối tượng có chứa tên dịch vụ. Cấu trúc trông giống như dưới đâyLàm cách nào để xác thực mảng đối tượng bằng Joi?
[{"serviceName":"service1"},
{"serviceName":"service2"},..]
khi tôi nhận được mảng ở backend, tôi muốn xác nhận rằng tất cả các đối tượng trong mảng có tài sản serviceName.
Tôi đã viết mã sau đây, nhưng mặc dù tôi vượt qua mảng hợp lệ, tôi nhận được lỗi xác thực.
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)
Đối với các mã trên, tôi luôn nhận được sự xác nhận lỗi với thông điệp
"value" at position 1 fails because array must contain at most 1 items