バックエンドにオブジェクトの配列を取得しています。各オブジェクトにはサービス名が含まれています。構造は以下のようになります
[{"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