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
This exception happens when I create a schema with a properties that has a contain the same words separated by underscore. Please see the example schema below:
The above schema gives an exception as below during validation. The "unit(s)" is a value of the property quantity_unit.
`
JsonSchema\Exception\InvalidArgumentException
unit(s) is an invalid type for string|null
1. in /.../vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeConstraint.php at line 214
if ('email' === $type) {
return is_string($value);
}
if ('null' === $type) {
return is_null($value);
}
throw new InvalidArgumentException((is_object($value) ? 'object' : $value) . ' is an invalid type for ' . $type);
}
/**
* Converts a value to boolean. For example, "true" becomes true.
*
* @param $value The value to convert to boolean
*
* @return bool|mixed
*/
`
If I rename the property quantity_unit to qty_unit or something else, it works but does not work if any other properties contain the name "quantity" separated by an underscore, it throws the above exception.
It seems because there is an existing property called quantity, no other property can have a name containing quantity.
To reproduce the issue, you can use the schema above to create a sample json data and try to validate
JsonSchema\Exception\InvalidArgumentException
unit(s) is an invalid type for string|null
1. in /.../vendor/justinrainbow/json-schema/src/JsonSchema/Constraints/TypeConstraint.php at line 214
if ('email' === $type) {
return is_string($value);
}
if ('null' === $type) {
return is_null($value);
}
throw new InvalidArgumentException((is_object($value) ? 'object' : $value) . ' is an invalid type for ' . $type);
}
/**
* Converts a value to boolean. For example, "true" becomes true.
*
* @param $value The value to convert to boolean
*
* @return bool|mixed
*/
The text was updated successfully, but these errors were encountered:
I also filed a similar issue on the said library here, but after investigation by the maintainers, they claimed they could not reproduce the issue from their own end.
Therefore, I suggest we investigate further as this issue was noticed through the Yii2 library and not when using the validation library directly.
This exception happens when I create a schema with a properties that has a contain the same words separated by underscore. Please see the example schema below:
`
The above schema gives an exception as below during validation. The "unit(s)" is a value of the property quantity_unit.
`
JsonSchema\Exception\InvalidArgumentException
`
If I rename the property
quantity_unit
toqty_unit
or something else, it works but does not work if any other properties contain the name "quantity" separated by an underscore, it throws the above exception.It seems because there is an existing property called
quantity
, no other property can have a name containing quantity.To reproduce the issue, you can use the schema above to create a sample json data and try to validate
$data = [ 'title' => 'Hp Laptop', 'quantity' => 10, 'quantity_unit' => 'unit(s)', ];
This throws the exception below
The text was updated successfully, but these errors were encountered: