@@ -101,10 +101,17 @@ public function getData()
101101 parse_str ($ this ->data , $ data );
102102 }
103103
104+ // add null values
105+ foreach ($ this ->getComponent ('form ' )->getComponents () as $ key => $ value ) {
106+ if (!isset ($ data [$ key ]) || $ data [$ key ] === '' ) {
107+ $ data [$ key ] = NULL ;
108+ }
109+ }
110+
104111 // add default values
105112 if (!empty ($ this ->defaultValues )) {
106113 foreach ($ this ->defaultValues as $ key => $ value ) {
107- if (!isset ($ data [$ key ]) || $ data [ $ key ] === '' ) {
114+ if (!isset ($ data [$ key ])) {
108115 $ data [$ key ] = $ value ;
109116 }
110117 }
@@ -171,11 +178,11 @@ protected function createComponentForm()
171178 !$ this ->ajaxRequest ? : $ elementPrototype ->class [] = 'ajax ' ;
172179
173180 $ form ->addSubmit ('filter ' , 'Filter ' )
174- ->onClick [] = callback ($ this , 'processSubmit ' );
181+ ->onClick [] = Callback:: closure ($ this , 'processSubmit ' );
175182
176183 $ form ->addSubmit ('reset ' , 'Reset ' )
177184 ->setValidationScope (FALSE )
178- ->onClick [] = callback ($ this , 'processReset ' );
185+ ->onClick [] = Callback:: closure ($ this , 'processReset ' );
179186
180187 return $ form ;
181188 }
@@ -244,7 +251,7 @@ private function setDefaultsValues()
244251 $ form = $ this ['form ' ];
245252
246253 foreach ($ data as $ key => $ value ) {
247- if ($ value !== '' ) {
254+ if ($ value !== '' && isset ( $ form [ $ key ]) ) {
248255 $ form [$ key ]->setValue ($ value );
249256 }
250257 }
@@ -260,4 +267,5 @@ public function render()
260267 $ template ->setFile ($ this ->getTemplateFile ());
261268 $ template ->render ();
262269 }
263- }
270+
271+ }
0 commit comments