File tree 2 files changed +11
-6
lines changed
2 files changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -45,21 +45,27 @@ class Container extends Nette\ComponentModel\Container implements \ArrayAccess
45
45
46
46
/**
47
47
* Fill-in with default values.
48
+ * @param array|\Traversable|\stdClass $values
48
49
*/
49
- public function setDefaults (array |object $ data , bool $ erase = false ): static
50
+ public function setDefaults (array |object $ values , bool $ erase = false ): static
50
51
{
51
52
$ form = $ this ->getForm (false );
52
- $ this ->setValues ($ data , $ erase , $ form ?->isAnchored() && $ form ->isSubmitted ());
53
+ $ this ->setValues ($ values , $ erase , $ form ?->isAnchored() && $ form ->isSubmitted ());
53
54
return $ this ;
54
55
}
55
56
56
57
57
58
/**
58
59
* Fill-in with values.
60
+ * @param array|\Traversable|\stdClass $values
59
61
* @internal
60
62
*/
61
63
public function setValues (array |object $ values , bool $ erase = false , bool $ onlyDisabled = false ): static
62
64
{
65
+ if (is_object ($ values ) && !($ values instanceof \Traversable || $ values instanceof \stdClass)) {
66
+ trigger_error (__METHOD__ . ': argument should be array|Traversable|stdClass, ' . get_debug_type ($ values ) . ' given. ' );
67
+ }
68
+
63
69
$ values = $ values instanceof \Traversable
64
70
? iterator_to_array ($ values )
65
71
: (array ) $ values ;
Original file line number Diff line number Diff line change @@ -10,16 +10,15 @@ use Tester\Assert;
10
10
require __DIR__ . '/../bootstrap.php ' ;
11
11
12
12
13
- #[AllowDynamicProperties]
14
- class FormData
13
+ class FormData extends stdClass
15
14
{
16
15
public string $ title ;
17
16
18
17
public FormFirstLevel $ first ;
19
18
}
20
19
21
20
22
- class FormFirstLevel
21
+ class FormFirstLevel extends stdClass
23
22
{
24
23
public string $ name ;
25
24
@@ -29,7 +28,7 @@ class FormFirstLevel
29
28
}
30
29
31
30
32
- class FormSecondLevel
31
+ class FormSecondLevel extends stdClass
33
32
{
34
33
public string $ city ;
35
34
}
You can’t perform that action at this time.
0 commit comments