File tree Expand file tree Collapse file tree 2 files changed +13
-9
lines changed Expand file tree Collapse file tree 2 files changed +13
-9
lines changed Original file line number Diff line number Diff line change @@ -56,16 +56,20 @@ protected function collectRules()
5656
5757 // an rule for special scene.
5858 if (!empty ($ rule ['on ' ])) {
59+ if (!$ scene ) {
60+ continue ;
61+ }
62+
5963 $ sceneList = \is_string ($ rule ['on ' ]) ? Helper::explode ($ rule ['on ' ]) : (array )$ rule ['on ' ];
6064
61- if ($ scene && !\in_array ($ scene , $ sceneList , true )) {
65+ if (!\in_array ($ scene , $ sceneList , true )) {
6266 continue ;
6367 }
6468
6569 unset($ rule ['on ' ]);
66- $ this ->_usedRules [] = $ rule ;
6770 }
6871
72+ $ this ->_usedRules [] = $ rule ;
6973 $ field = array_shift ($ rule );
7074
7175 if (\is_object ($ rule [0 ])) {
Original file line number Diff line number Diff line change @@ -402,22 +402,22 @@ protected function collectRules()
402402 throw new \InvalidArgumentException ('The rule validator is must be setting! position: rule[1]. ' );
403403 }
404404
405- // global rule.
406- if (empty ($ rule ['on ' ])) {
407- $ this ->_usedRules [] = $ rule ;
405+ // only use to special scene.
406+ if (!empty ($ rule ['on ' ])) {
407+ if (!$ scene ) {
408+ continue ;
409+ }
408410
409- // only use to special scene.
410- } else {
411411 $ sceneList = \is_string ($ rule ['on ' ]) ? Helper::explode ($ rule ['on ' ]) : (array )$ rule ['on ' ];
412412
413- if ($ scene && !\in_array ($ scene , $ sceneList , true )) {
413+ if (!\in_array ($ scene , $ sceneList , true )) {
414414 continue ;
415415 }
416416
417417 unset($ rule ['on ' ]);
418- $ this ->_usedRules [] = $ rule ;
419418 }
420419
420+ $ this ->_usedRules [] = $ rule ;
421421 $ fields = array_shift ($ rule );
422422
423423 yield $ fields => $ this ->prepareRule ($ rule );
You can’t perform that action at this time.
0 commit comments