File tree 2 files changed +10
-0
lines changed
2 files changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ public function denormalize(
23
23
bool $ isNullable = false ,
24
24
float $ minimum = null ,
25
25
float $ maximum = null ,
26
+ bool $ allowNumericString = false
26
27
): ?float {
27
28
if (null !== $ minimum && null !== $ maximum && $ minimum > $ maximum ) {
28
29
throw new LogicException ('Minimum constraint can not be bigger than maximum ' );
@@ -34,6 +35,10 @@ public function denormalize(
34
35
35
36
$ violations = new ConstraintViolationCollection ();
36
37
38
+ if ($ allowNumericString && is_string ($ data ) && is_numeric ($ data )) {
39
+ $ data = (float ) $ data ;
40
+ }
41
+
37
42
if (!\is_int ($ data ) && !\is_float ($ data )) {
38
43
$ violations [] = WrongPropertyType::guessGivenType (
39
44
$ pointer ,
Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ public function denormalize(
23
23
bool $ isNullable = false ,
24
24
int $ minimum = null ,
25
25
int $ maximum = null ,
26
+ bool $ allowNumericString = false
26
27
): ?int {
27
28
if (null !== $ minimum && null !== $ maximum && $ minimum > $ maximum ) {
28
29
throw new LogicException ('Minimum constraint can not be bigger than maximum ' );
@@ -34,6 +35,10 @@ public function denormalize(
34
35
35
36
$ violations = new ConstraintViolationCollection ();
36
37
38
+ if ($ allowNumericString && is_string ($ data ) && is_numeric ($ data )) {
39
+ $ data = (int ) $ data ;
40
+ }
41
+
37
42
if (!\is_int ($ data )) {
38
43
$ violations [] = WrongPropertyType::guessGivenType (
39
44
$ pointer ,
You can’t perform that action at this time.
0 commit comments