mirror of
https://github.com/justinrainbow/json-schema.git
synced 2025-06-02 03:44:53 +02:00
fix: property is passed as integer and cannot be accessed (#784)
This commit is contained in:
parent
a94f60c332
commit
b62fea73bd
@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- Create deep copy before checking each sub schema in anyOf ([#792](https://github.com/jsonrainbow/json-schema/pull/792))
|
||||
- Correctly set the schema ID when passing it as assoc array ([#794](https://github.com/jsonrainbow/json-schema/pull/794))
|
||||
- Create deep copy before checking each sub schema in oneOf when only check_mode_apply_defaults is set ([#795](https://github.com/jsonrainbow/json-schema/pull/795))
|
||||
- Additional property casted into int when actually is numeric string ([#784](https://github.com/jsonrainbow/json-schema/pull/784))
|
||||
|
||||
### Changed
|
||||
- Used PHPStan's int-mask-of<T> type where applicable ([#779](https://github.com/jsonrainbow/json-schema/pull/779))
|
||||
|
@ -159,7 +159,7 @@ class ObjectConstraint extends Constraint
|
||||
{
|
||||
if (is_array($element) && (isset($element[$property]) || array_key_exists($property, $element)) /*$this->checkMode == self::CHECK_MODE_TYPE_CAST*/) {
|
||||
return $element[$property];
|
||||
} elseif (is_object($element) && property_exists($element, $property)) {
|
||||
} elseif (is_object($element) && property_exists($element, (string) $property)) {
|
||||
return $element->$property;
|
||||
}
|
||||
|
||||
|
@ -189,6 +189,24 @@ class AdditionalPropertiesTest extends BaseTestCase
|
||||
"additionalProperties": true
|
||||
}'
|
||||
],
|
||||
'additional property casted into int when actually is numeric string (#784)' => [
|
||||
'{
|
||||
"prop1": {
|
||||
"123": "a"
|
||||
}
|
||||
}',
|
||||
'{
|
||||
"type": "object",
|
||||
"additionalProperties": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"123": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}'
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user