File tree Expand file tree Collapse file tree 1 file changed +8
-6
lines changed Expand file tree Collapse file tree 1 file changed +8
-6
lines changed Original file line number Diff line number Diff line change @@ -77,27 +77,29 @@ public function validateRules(FormEvent $event)
7777 * @param array $rules
7878 * @return array
7979 */
80- protected function findRules (FormInterface $ parent , $ rules = [])
80+ protected function findRules (FormInterface $ parent , $ rules = [], $ parentName = null )
8181 {
8282 foreach ($ parent ->all () as $ form ) {
8383 $ config = $ form ->getConfig ();
8484 $ name = $ form ->getName ();
8585 $ innerType = $ form ->getConfig ()->getType ()->getInnerType ();
8686
8787 if ($ config ->hasOption ('rules ' )) {
88- if ($ innerType instanceof CollectionType) {
89- $ name .= '.* ' ;
90- }
9188
92- if (! $ parent ->isRoot ()) {
89+ if ($ parentName !== null ) {
90+ $ name = $ parentName . '. ' . $ name ;
91+ } elseif (! $ parent ->isRoot ()) {
9392 $ name = $ parent ->getName () . '. ' . $ name ;
9493 }
9594
9695 $ rules [$ name ] = $ this ->addTypeRules ($ innerType , $ config ->getOption ('rules ' ));
9796 }
9897
9998 if ($ innerType instanceof CollectionType) {
100- $ rules = $ this ->findRules ($ form , $ rules );
99+ $ children = $ form ->all ();
100+ if (isset ($ children [0 ])) {
101+ $ rules = $ this ->findRules ($ children [0 ], $ rules , $ name . '.* ' );
102+ }
101103 }
102104 }
103105
You can’t perform that action at this time.
0 commit comments