You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are trying to use the new Validator().validate() method of jsonSchema Library, But we are not getting accurate result in case schema parameter contains anyOf property.
For example: We have a payload which we are trying to validate against a schema having anyOf property. Our payload is satisfying one of the pattern of "anyOf" but still getting the validation error. Below are the details of payload, schema & validationResult received. Please look at this issue at earliest, Quite urgent for us.
We are trying to use the new Validator().validate() method of jsonSchema Library, But we are not getting accurate result in case schema parameter contains anyOf property.
For example: We have a payload which we are trying to validate against a schema having anyOf property. Our payload is satisfying one of the pattern of "anyOf" but still getting the validation error. Below are the details of payload, schema & validationResult received. Please look at this issue at earliest, Quite urgent for us.
payload =
{ "_ItemAmount": [{ "AmountInTransactionCurrency": 20 }] }
schema =
{ "additionalProperties": true, "type": "object", "title": "Postfixedassetacquisitionsapselfpost Inputs", "properties": { "QuantityInBaseUnit": { "multipleOf": 0.001, "anyOf": [{ "type": "number" }, { "type": "string" }], "maximum": 9999999999.999, "x-sap-scale": 3, "type": "number", "x-sap-precision": 13, "minimum": -9999999999.999, "example": 0 }, "AcqnAmtInTransactionCurrency": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "type": "string", "x-sap-precision": 23, "example": 0 }, "_ItemAmount": { "type": "array", "items": { "additionalProperties": true, "type": "object", "title": "D_FixedAssetPostAcqnItemAmtP", "properties": { "GlobalCurrency": { "type": "string", "title": "Global Currency", "maxLength": 3 }, "FreeDefinedCurrency1": { "description": "Freely Defined Currency 1", "type": "string", "title": "Free Defined Crcy 1", "maxLength": 3 }, "CompanyCodeCurrency": { "description": "Company Code Currency", "type": "string", "title": "CompanyCode Currency", "maxLength": 3 }, "FreeDefinedCurrency4": { "description": "Freely Defined Currency 4", "type": "string", "title": "Free Defined Crcy 4", "maxLength": 3 }, "AssetDepreciationArea": { "description": "Real depreciation area", "type": "string", "title": "Depreciation area", "maxLength": 2 }, "FreeDefinedCurrency5": { "description": "Freely Defined Currency 5", "type": "string", "title": "Free Defined Crcy 5", "maxLength": 3 }, "AmountInTransactionCurrency": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Transaction Currency", "type": "string", "title": "Amnt in Trans. Crcy", "x-sap-precision": 23, "example": 0 }, "FreeDefinedCurrency2": { "description": "Freely Defined Currency 2", "type": "string", "title": "Free Defined Crcy 2", "maxLength": 3 }, "FreeDefinedCurrency3": { "description": "Freely Defined Currency 3", "type": "string", "title": "Free Defined Crcy 3", "maxLength": 3 }, "FreeDefinedCurrency8": { "description": "Freely Defined Currency 8", "type": "string", "title": "Free Defined Crcy 8", "maxLength": 3 }, "AmountInFreeDefinedCurrency1": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 1", "type": "string", "title": "Amount in Currency 1", "x-sap-precision": 23, "example": 0 }, "AmountInFreeDefinedCurrency2": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 2", "type": "string", "title": "Amount in Currency 2", "x-sap-precision": 23, "example": 0 }, "FreeDefinedCurrency6": { "description": "Freely Defined Currency 6", "type": "string", "title": "Free Defined Crcy 6", "maxLength": 3 }, "AmountInFreeDefinedCurrency3": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 3", "type": "string", "title": "Amount in Currency 3", "x-sap-precision": 23, "example": 0 }, "FreeDefinedCurrency7": { "description": "Freely Defined Currency 7", "type": "string", "title": "Free Defined Crcy 7", "maxLength": 3 }, "AmountInFreeDefinedCurrency4": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 4", "type": "string", "title": "Amount in Currency 4", "x-sap-precision": 23, "example": 0 }, "AmountInGlobalCurrency": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Global Currency", "type": "string", "title": "Amnt in Global Crcy", "x-sap-precision": 23, "example": 0 }, "AmountInFreeDefinedCurrency5": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 5", "type": "string", "title": "Amount in Currency 5", "x-sap-precision": 23, "example": 0 }, "AmountInFreeDefinedCurrency6": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 6", "type": "string", "title": "Amount in Currency 6", "x-sap-precision": 23, "example": 0 }, "TransactionCurrency": { "type": "string", "title": "Transaction Currency", "maxLength": 3 }, "AmountInFreeDefinedCurrency7": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 7", "type": "string", "title": "Amount in Currency 7", "x-sap-precision": 23, "example": 0 }, "AmountInFreeDefinedCurrency8": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 8", "type": "string", "title": "Amount in Currency 8", "x-sap-precision": 23, "example": 0 }, "AmountInCompanyCodeCurrency": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Company Code Currency", "type": "string", "title": "Amnt in Comp Cd Crcy", "x-sap-precision": 23, "example": 0 }, "SubLedgerAcctLineItemType": { "description": "Subledger-Specific Line Item Type", "type": "string", "title": "Line Item Type", "maxLength": 5 } } } }, "FixedAsset": { "type": "string", "maxLength": 4 }, "BusinessTransactionType": { "type": "string", "maxLength": 4 }, "AssetValueDate": { "format": "date", "type": "string", "example": "2017-04-13" }, "FixedAssetYearOfAcqnCode": { "type": "string", "maxLength": 1 }, "TransactionCurrency": { "type": "string", "maxLength": 3 }, "AccountingDocumentHeaderText": { "type": "string", "maxLength": 25 }, "MasterFixedAsset": { "type": "string", "maxLength": 12 }, "ExchangeRateDate": { "format": "date", "type": "string", "example": "2017-04-13" }, "AccountingDocumentType": { "type": "string", "maxLength": 2 }, "OffsettingAccount": { "type": "string", "maxLength": 10 }, "BaseUnitISOCode": { "type": "string", "maxLength": 3 }, "TradingPartner": { "type": "string", "maxLength": 6 }, "DocumentReferenceID": { "type": "string", "maxLength": 16 }, "DebitCreditCode": { "type": "string", "maxLength": 1 }, "AssignmentReference": { "type": "string", "maxLength": 18 }, "BaseUnitSAPCode": { "type": "string", "maxLength": 3 }, "ReferenceDocumentItem": { "type": "string", "maxLength": 6 }, "PostingDate": { "format": "date", "type": "string", "example": "2017-04-13" }, "_Ledger": { "type": "array", "items": { "additionalProperties": true, "type": "object", "title": "D_FixedAssetPostAcqnLedgerP", "properties": { "Ledger": { "description": "Ledger in General Ledger Accounting", "type": "string", "title": "Ledger", "maxLength": 2 }, "_Valuation": { "type": "array", "items": { "additionalProperties": true, "type": "object", "title": "D_FixedAssetPostAcqnValuationP", "properties": { "AssetDepreciationArea": { "description": "Real depreciation area", "type": "string", "title": "Depreciation area", "maxLength": 2 } } } } } } }, "AssetOriginalValueDate": { "format": "date", "type": "string", "example": "2017-04-13" }, "DocumentItemText": { "type": "string", "maxLength": 50 }, "DocumentDate": { "format": "date", "type": "string", "example": "2017-04-13" }, "CompanyCode": { "type": "string", "maxLength": 4 } } }
validationResult=
{ "instance": { "_ItemAmount": [{ "AmountInTransactionCurrency": 20 }] }, "schema": { "additionalProperties": true, "type": "object", "title": "Postfixedassetacquisitionsapselfpost Inputs", "properties": { "QuantityInBaseUnit": { "multipleOf": 0.001, "anyOf": [{ "type": "number" }, { "type": "string" }], "maximum": 9999999999.999, "x-sap-scale": 3, "type": "number", "x-sap-precision": 13, "minimum": -9999999999.999, "example": 0 }, "AcqnAmtInTransactionCurrency": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "type": "string", "x-sap-precision": 23, "example": 0 }, "_ItemAmount": { "type": "array", "items": { "additionalProperties": true, "type": "object", "title": "D_FixedAssetPostAcqnItemAmtP", "properties": { "GlobalCurrency": { "type": "string", "title": "Global Currency", "maxLength": 3 }, "FreeDefinedCurrency1": { "description": "Freely Defined Currency 1", "type": "string", "title": "Free Defined Crcy 1", "maxLength": 3 }, "CompanyCodeCurrency": { "description": "Company Code Currency", "type": "string", "title": "CompanyCode Currency", "maxLength": 3 }, "FreeDefinedCurrency4": { "description": "Freely Defined Currency 4", "type": "string", "title": "Free Defined Crcy 4", "maxLength": 3 }, "AssetDepreciationArea": { "description": "Real depreciation area", "type": "string", "title": "Depreciation area", "maxLength": 2 }, "FreeDefinedCurrency5": { "description": "Freely Defined Currency 5", "type": "string", "title": "Free Defined Crcy 5", "maxLength": 3 }, "AmountInTransactionCurrency": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Transaction Currency", "type": "string", "title": "Amnt in Trans. Crcy", "x-sap-precision": 23, "example": 0 }, "FreeDefinedCurrency2": { "description": "Freely Defined Currency 2", "type": "string", "title": "Free Defined Crcy 2", "maxLength": 3 }, "FreeDefinedCurrency3": { "description": "Freely Defined Currency 3", "type": "string", "title": "Free Defined Crcy 3", "maxLength": 3 }, "FreeDefinedCurrency8": { "description": "Freely Defined Currency 8", "type": "string", "title": "Free Defined Crcy 8", "maxLength": 3 }, "AmountInFreeDefinedCurrency1": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 1", "type": "string", "title": "Amount in Currency 1", "x-sap-precision": 23, "example": 0 }, "AmountInFreeDefinedCurrency2": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 2", "type": "string", "title": "Amount in Currency 2", "x-sap-precision": 23, "example": 0 }, "FreeDefinedCurrency6": { "description": "Freely Defined Currency 6", "type": "string", "title": "Free Defined Crcy 6", "maxLength": 3 }, "AmountInFreeDefinedCurrency3": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 3", "type": "string", "title": "Amount in Currency 3", "x-sap-precision": 23, "example": 0 }, "FreeDefinedCurrency7": { "description": "Freely Defined Currency 7", "type": "string", "title": "Free Defined Crcy 7", "maxLength": 3 }, "AmountInFreeDefinedCurrency4": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 4", "type": "string", "title": "Amount in Currency 4", "x-sap-precision": 23, "example": 0 }, "AmountInGlobalCurrency": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Global Currency", "type": "string", "title": "Amnt in Global Crcy", "x-sap-precision": 23, "example": 0 }, "AmountInFreeDefinedCurrency5": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 5", "type": "string", "title": "Amount in Currency 5", "x-sap-precision": 23, "example": 0 }, "AmountInFreeDefinedCurrency6": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 6", "type": "string", "title": "Amount in Currency 6", "x-sap-precision": 23, "example": 0 }, "TransactionCurrency": { "type": "string", "title": "Transaction Currency", "maxLength": 3 }, "AmountInFreeDefinedCurrency7": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 7", "type": "string", "title": "Amount in Currency 7", "x-sap-precision": 23, "example": 0 }, "AmountInFreeDefinedCurrency8": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Freely Defined Currency 8", "type": "string", "title": "Amount in Currency 8", "x-sap-precision": 23, "example": 0 }, "AmountInCompanyCodeCurrency": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Company Code Currency", "type": "string", "title": "Amnt in Comp Cd Crcy", "x-sap-precision": 23, "example": 0 }, "SubLedgerAcctLineItemType": { "description": "Subledger-Specific Line Item Type", "type": "string", "title": "Line Item Type", "maxLength": 5 } } } }, "FixedAsset": { "type": "string", "maxLength": 4 }, "BusinessTransactionType": { "type": "string", "maxLength": 4 }, "AssetValueDate": { "format": "date", "type": "string", "example": "2017-04-13" }, "FixedAssetYearOfAcqnCode": { "type": "string", "maxLength": 1 }, "TransactionCurrency": { "type": "string", "maxLength": 3 }, "AccountingDocumentHeaderText": { "type": "string", "maxLength": 25 }, "MasterFixedAsset": { "type": "string", "maxLength": 12 }, "ExchangeRateDate": { "format": "date", "type": "string", "example": "2017-04-13" }, "AccountingDocumentType": { "type": "string", "maxLength": 2 }, "OffsettingAccount": { "type": "string", "maxLength": 10 }, "BaseUnitISOCode": { "type": "string", "maxLength": 3 }, "TradingPartner": { "type": "string", "maxLength": 6 }, "DocumentReferenceID": { "type": "string", "maxLength": 16 }, "DebitCreditCode": { "type": "string", "maxLength": 1 }, "AssignmentReference": { "type": "string", "maxLength": 18 }, "BaseUnitSAPCode": { "type": "string", "maxLength": 3 }, "ReferenceDocumentItem": { "type": "string", "maxLength": 6 }, "PostingDate": { "format": "date", "type": "string", "example": "2017-04-13" }, "_Ledger": { "type": "array", "items": { "additionalProperties": true, "type": "object", "title": "D_FixedAssetPostAcqnLedgerP", "properties": { "Ledger": { "description": "Ledger in General Ledger Accounting", "type": "string", "title": "Ledger", "maxLength": 2 }, "_Valuation": { "type": "array", "items": { "additionalProperties": true, "type": "object", "title": "D_FixedAssetPostAcqnValuationP", "properties": { "AssetDepreciationArea": { "description": "Real depreciation area", "type": "string", "title": "Depreciation area", "maxLength": 2 } } } } } } }, "AssetOriginalValueDate": { "format": "date", "type": "string", "example": "2017-04-13" }, "DocumentItemText": { "type": "string", "maxLength": 50 }, "DocumentDate": { "format": "date", "type": "string", "example": "2017-04-13" }, "CompanyCode": { "type": "string", "maxLength": 4 } } }, "options": {}, "path": [], "propertyPath": "instance", "errors": [{ "path": ["_ItemAmount", 0, "AmountInTransactionCurrency"], "property": "instance._ItemAmount[0].AmountInTransactionCurrency", "message": "is not of a type(s) string", "schema": { "format": "decimal", "anyOf": [{ "type": "number" }, { "type": "string" }], "description": "Amount in Transaction Currency", "type": "string", "title": "Amnt in Trans. Crcy", "x-sap-precision": 23, "example": 0 }, "instance": 20, "name": "type", "argument": ["string"], "stack": "instance._ItemAmount[0].AmountInTransactionCurrency is not of a type(s) string" }], "disableFormat": false }
Code:
const validationResult = new Validator().validate(payload, schema);
The text was updated successfully, but these errors were encountered: