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
Hello,
When validate with multiple schema using 'allOf', definition order has a behavior impact.
cf attached code to test testSchemaValidator2.zip
Correct:
input value: "true"
schema: {
"allOf": [
{
"type": "string"
},
{
"type": "boolean"
}
]
}
value is valid
reverse order lead to incorrect validation:
input value: "true"
schema: {
"allOf": [
{
"type": "boolean"
},
{
"type": "string"
}
]
}
Boolean value found, but a string is required
Failed to match all schemas
The text was updated successfully, but these errors were encountered:
@kroc702 thanks for the report. Based on your schema provided it seems no input data will be valid ever as the a single value cannot be boolean and string at the same time. Using https://jsonschemalint.com/ you can see that both versions of you schema should raise errors whereas you mention that in both cases you expect them to be valid.
Well it's a choice, your choice ;)
As php is loosely typed, it doesn't hurt me to validate the strings "true" or "1" as boolean or number. Changing this behavior may be a braking change for the lib.
We just need a consistent behavior with all types and order shouldn't impact behavior of any/all/oneOf.
Hello,
When validate with multiple schema using 'allOf', definition order has a behavior impact.
cf attached code to test
testSchemaValidator2.zip
Correct:
reverse order lead to incorrect validation:
The text was updated successfully, but these errors were encountered: