Skip to content

Commit 0427f70

Browse files
committed
Drop use of defunct "form-group" class.
It no longer exists in Bootstrap 5.
1 parent ae96c70 commit 0427f70

33 files changed

+647
-714
lines changed

src/View/Helper/FormHelper.php

Lines changed: 23 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -148,18 +148,18 @@ class FormHelper extends CoreFormHelper
148148
'{{input}}{{label}}',
149149
'inputContainer' =>
150150
'<div{{containerAttrs}} ' .
151-
'class="{{containerClass}}{{formGroupClass}} {{type}}{{required}}">{{content}}{{help}}</div>',
151+
'class="{{containerClass}}{{type}}{{required}}">{{content}}{{help}}</div>',
152152
'inputContainerError' =>
153153
'<div{{containerAttrs}} ' .
154-
'class="{{containerClass}}{{formGroupClass}} {{formGroupPosition}}{{type}}{{required}} is-invalid">' .
154+
'class="{{containerClass}}{{formGroupPosition}}{{type}}{{required}} is-invalid">' .
155155
'{{content}}{{error}}{{help}}</div>',
156156
'checkboxContainer' =>
157157
'<div{{containerAttrs}} ' .
158-
'class="{{containerClass}}{{formGroupClass}} form-check{{variant}} ' .
158+
'class="{{containerClass}}form-check{{variant}} ' .
159159
'{{type}}{{required}}">{{content}}{{help}}</div>',
160160
'checkboxContainerError' =>
161161
'<div{{containerAttrs}} ' .
162-
'class="{{containerClass}}{{formGroupClass}} form-check{{variant}} ' .
162+
'class="{{containerClass}}form-check{{variant}} ' .
163163
'{{formGroupPosition}}{{type}}{{required}} is-invalid">' .
164164
'{{content}}{{error}}{{help}}</div>',
165165
'checkboxInlineContainer' =>
@@ -177,11 +177,11 @@ class FormHelper extends CoreFormHelper
177177
'checkboxInlineWrapper' =>
178178
'<div class="form-check{{variant}} form-check-inline">{{label}}</div>',
179179
'radioContainer' =>
180-
'<div{{containerAttrs}} class="{{containerClass}}{{formGroupClass}} {{type}}{{required}}" role="group" ' .
180+
'<div{{containerAttrs}} class="{{containerClass}}{{type}}{{required}}" role="group" ' .
181181
'aria-labelledby="{{groupId}}">{{content}}{{help}}</div>',
182182
'radioContainerError' =>
183183
'<div{{containerAttrs}} ' .
184-
'class="{{containerClass}}{{formGroupClass}} {{formGroupPosition}}{{type}}{{required}} is-invalid" ' .
184+
'class="{{containerClass}}{{formGroupPosition}}{{type}}{{required}} is-invalid" ' .
185185
'role="group" aria-labelledby="{{groupId}}">{{content}}{{error}}{{help}}</div>',
186186
'radioLabel' =>
187187
'<label{{attrs}}>{{text}}{{tooltip}}</label>',
@@ -196,16 +196,16 @@ class FormHelper extends CoreFormHelper
196196
'inputGroupText' =>
197197
'<span class="input-group-text">{{content}}</span>',
198198
'multicheckboxContainer' =>
199-
'<div{{containerAttrs}} class="{{containerClass}}{{formGroupClass}} {{type}}{{required}}" role="group" ' .
199+
'<div{{containerAttrs}} class="{{containerClass}}{{type}}{{required}}" role="group" ' .
200200
'aria-labelledby="{{groupId}}">{{content}}{{help}}</div>',
201201
'multicheckboxContainerError' =>
202202
'<div{{containerAttrs}} ' .
203-
'class="{{containerClass}}{{formGroupClass}} {{formGroupPosition}}{{type}}{{required}} is-invalid" ' .
203+
'class="{{containerClass}}{{formGroupPosition}}{{type}}{{required}} is-invalid" ' .
204204
'role="group" aria-labelledby="{{groupId}}">{{content}}{{error}}{{help}}</div>',
205205
'multicheckboxLabel' =>
206206
'<label{{attrs}}>{{text}}{{tooltip}}</label>',
207207
'multicheckboxWrapper' =>
208-
'<fieldset class="%s form-group">{{content}}</fieldset>',
208+
'<fieldset class="%s">{{content}}</fieldset>',
209209
'multicheckboxTitle' =>
210210
'<legend class="col-form-label pt-0">{{text}}</legend>',
211211
'nestingLabel' =>
@@ -236,31 +236,28 @@ class FormHelper extends CoreFormHelper
236236
'{{formGroupPosition}}{{type}}{{required}} is-invalid">{{content}}{{error}}{{help}}</div>',
237237
'radioContainer' =>
238238
'<div{{containerAttrs}} ' .
239-
'class="{{containerClass}}{{formGroupClass}} ' .
240-
'{{formGroupPosition}}{{type}}{{required}}" ' .
239+
'class="{{containerClass}}{{formGroupPosition}}{{type}}{{required}}" ' .
241240
'role="group" aria-labelledby="{{groupId}}">' .
242241
'{{content}}{{help}}</div>',
243242
'radioContainerError' =>
244243
'<div{{containerAttrs}} ' .
245-
'class="{{containerClass}}{{formGroupClass}} ' .
246-
'{{formGroupPosition}}{{type}}{{required}} is-invalid" ' .
244+
'class="{{containerClass}}{{formGroupPosition}}{{type}}{{required}} is-invalid" ' .
247245
'role="group" aria-labelledby="{{groupId}}">' .
248246
'{{content}}{{error}}{{help}}</div>',
249247
'radioLabel' =>
250248
'<span{{attrs}}>{{text}}{{tooltip}}</span>',
251249
'multicheckboxContainer' =>
252250
'<div{{containerAttrs}} ' .
253-
'class="{{containerClass}}{{formGroupClass}} d-flex {{formGroupPosition}}{{type}}{{required}}" ' .
251+
'class="{{containerClass}}d-flex {{formGroupPosition}}{{type}}{{required}}" ' .
254252
'role="group" aria-labelledby="{{groupId}}">{{content}}{{help}}</div>',
255253
'multicheckboxContainerError' =>
256254
'<div{{containerAttrs}} ' .
257-
'class="{{containerClass}}{{formGroupClass}} d-flex ' .
258-
'{{formGroupPosition}}{{type}}{{required}} is-invalid" ' .
255+
'class="{{containerClass}}d-flex {{formGroupPosition}}{{type}}{{required}} is-invalid" ' .
259256
'role="group" aria-labelledby="{{groupId}}">{{content}}{{error}}{{help}}</div>',
260257
'multicheckboxLabel' =>
261258
'<span{{attrs}}>{{text}}{{tooltip}}</span>',
262259
'multicheckboxWrapper' =>
263-
'<fieldset class="form-group">{{content}}</fieldset>',
260+
'<fieldset>{{content}}</fieldset>',
264261
'multicheckboxTitle' =>
265262
'<legend class="col-form-label float-none pt-0">{{text}}</legend>',
266263
],
@@ -276,46 +273,37 @@ class FormHelper extends CoreFormHelper
276273
'checkboxInlineFormGroup' =>
277274
'<div class="%s"><div class="form-check{{variant}} form-check-inline">{{input}}{{label}}</div></div>',
278275
'submitContainer' =>
279-
'<div{{containerAttrs}} class="{{containerClass}}{{formGroupClass}} row">' .
280-
'<div class="%s">{{content}}</div></div>',
276+
'<div{{containerAttrs}} class="{{containerClass}}row"><div class="%s">{{content}}</div></div>',
281277
'inputContainer' =>
282-
'<div{{containerAttrs}} class="{{containerClass}}{{formGroupClass}} row {{type}}{{required}}">' .
278+
'<div{{containerAttrs}} class="{{containerClass}}row {{type}}{{required}}">' .
283279
'{{content}}</div>',
284280
'inputContainerError' =>
285281
'<div{{containerAttrs}} ' .
286-
'class="{{containerClass}}{{formGroupClass}} row ' .
287-
'{{formGroupPosition}}{{type}}{{required}} is-invalid">' .
282+
'class="{{containerClass}}row {{formGroupPosition}}{{type}}{{required}} is-invalid">' .
288283
'{{content}}</div>',
289284
'checkboxContainer' =>
290-
'<div{{containerAttrs}} ' .
291-
'class="{{containerClass}}{{formGroupClass}} row {{type}}{{required}}">' .
292-
'{{content}}</div>',
285+
'<div{{containerAttrs}} class="{{containerClass}}row {{type}}{{required}}">{{content}}</div>',
293286
'checkboxContainerError' =>
294-
'<div{{containerAttrs}} ' .
295-
'class="{{containerClass}}{{formGroupClass}} row ' .
287+
'<div{{containerAttrs}} class="{{containerClass}}row ' .
296288
'{{formGroupPosition}}{{type}}{{required}} is-invalid">' .
297289
'{{content}}</div>',
298290
'radioContainer' =>
299-
'<div{{containerAttrs}} ' .
300-
'class="{{containerClass}}{{formGroupClass}} row {{type}}{{required}}" ' .
291+
'<div{{containerAttrs}} class="{{containerClass}}row {{type}}{{required}}" ' .
301292
'role="group" aria-labelledby="{{groupId}}">' .
302293
'{{content}}</div>',
303294
'radioContainerError' =>
304-
'<div{{containerAttrs}} ' .
305-
'class="{{containerClass}}{{formGroupClass}} row ' .
295+
'<div{{containerAttrs}} class="{{containerClass}}row ' .
306296
'{{formGroupPosition}}{{type}}{{required}} is-invalid" ' .
307297
'role="group" aria-labelledby="{{groupId}}">' .
308298
'{{content}}</div>',
309299
'radioLabel' =>
310300
'<label{{attrs}}>{{text}}{{tooltip}}</label>',
311301
'multicheckboxContainer' =>
312-
'<div{{containerAttrs}} ' .
313-
'class="{{containerClass}}{{formGroupClass}} row {{type}}{{required}}" ' .
302+
'<div{{containerAttrs}} class="{{containerClass}}row {{type}}{{required}}" ' .
314303
'role="group" aria-labelledby="{{groupId}}">' .
315304
'{{content}}</div>',
316305
'multicheckboxContainerError' =>
317-
'<div{{containerAttrs}} ' .
318-
'class="{{containerClass}}{{formGroupClass}} row ' .
306+
'<div{{containerAttrs}} class="{{containerClass}}row ' .
319307
'{{formGroupPosition}}{{type}}{{required}} is-invalid" ' .
320308
'role="group" aria-labelledby="{{groupId}}">' .
321309
'{{content}}</div>',
@@ -591,9 +579,6 @@ protected function _containerOptions(?string $fieldName, array $options): array
591579
$containerOptions = $options['container'] ?? [];
592580
unset($options['container']);
593581

594-
$options['templateVars']['formGroupClass'] = $containerOptions['formGroupClass'] ?? 'form-group';
595-
unset($containerOptions['formGroupClass']);
596-
597582
if (isset($containerOptions['class'])) {
598583
$options['templateVars']['containerClass'] = $containerOptions['class'] . ' ';
599584
unset($containerOptions['class']);

tests/TestCase/View/Helper/FormHelper/DefaultAlign/CheckboxControlTest.php

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public function testDefaultAlignCheckboxControl()
1515
'type' => 'checkbox',
1616
]);
1717
$expected = [
18-
['div' => ['class' => 'mb-3 form-group form-check checkbox']],
18+
['div' => ['class' => 'mb-3 form-check checkbox']],
1919
['input' => [
2020
'type' => 'hidden',
2121
'name' => 'users',
@@ -45,7 +45,7 @@ public function testDefaultAlignCheckboxControlWithDisabledLabel()
4545
'label' => false,
4646
]);
4747
$expected = [
48-
['div' => ['class' => 'mb-3 form-group form-check checkbox']],
48+
['div' => ['class' => 'mb-3 form-check checkbox']],
4949
['input' => [
5050
'type' => 'hidden',
5151
'name' => 'users',
@@ -72,7 +72,7 @@ public function testDefaultAlignCheckboxControlWithCustomLabel()
7272
'label' => 'Custom Label',
7373
]);
7474
$expected = [
75-
['div' => ['class' => 'mb-3 form-group form-check checkbox']],
75+
['div' => ['class' => 'mb-3 form-check checkbox']],
7676
['input' => [
7777
'type' => 'hidden',
7878
'name' => 'users',
@@ -106,7 +106,7 @@ public function testDefaultAlignCheckboxControlWithCustomLabelOptions()
106106
],
107107
]);
108108
$expected = [
109-
['div' => ['class' => 'mb-3 form-group form-check checkbox']],
109+
['div' => ['class' => 'mb-3 form-check checkbox']],
110110
['input' => [
111111
'type' => 'hidden',
112112
'name' => 'users',
@@ -140,7 +140,7 @@ public function testDefaultAlignCheckboxControlWithHelp()
140140
'help' => 'Help text',
141141
]);
142142
$expected = [
143-
['div' => ['class' => 'mb-3 form-group form-check checkbox']],
143+
['div' => ['class' => 'mb-3 form-check checkbox']],
144144
['input' => [
145145
'type' => 'hidden',
146146
'name' => 'users',
@@ -179,7 +179,7 @@ public function testDefaultAlignCheckboxControlWithHelpOptions()
179179
],
180180
]);
181181
$expected = [
182-
['div' => ['class' => 'mb-3 form-group form-check checkbox']],
182+
['div' => ['class' => 'mb-3 form-check checkbox']],
183183
['input' => [
184184
'type' => 'hidden',
185185
'name' => 'users',
@@ -217,7 +217,7 @@ public function testDefaultAlignCheckboxControlWithTooltip()
217217
'tooltip' => 'Tooltip text',
218218
]);
219219
$expected = [
220-
['div' => ['class' => 'mb-3 form-group form-check checkbox']],
220+
['div' => ['class' => 'mb-3 form-check checkbox']],
221221
['input' => [
222222
'type' => 'hidden',
223223
'name' => 'users',
@@ -253,7 +253,7 @@ public function testDefaultAlignCheckboxControlWithCustomSpacing()
253253
'spacing' => 'custom-spacing',
254254
]);
255255
$expected = [
256-
['div' => ['class' => 'custom-spacing form-group form-check checkbox']],
256+
['div' => ['class' => 'custom-spacing form-check checkbox']],
257257
['input' => [
258258
'type' => 'hidden',
259259
'name' => 'users',
@@ -285,7 +285,7 @@ public function testDefaultAlignCheckboxControlWithError()
285285
'type' => 'checkbox',
286286
]);
287287
$expected = [
288-
['div' => ['class' => 'mb-3 form-group form-check checkbox is-invalid']],
288+
['div' => ['class' => 'mb-3 form-check checkbox is-invalid']],
289289
['input' => [
290290
'class' => 'is-invalid',
291291
'type' => 'hidden',
@@ -325,7 +325,7 @@ public function testDefaultAlignCheckboxControlWithErrorAndHelp()
325325
'help' => 'Help text',
326326
]);
327327
$expected = [
328-
['div' => ['class' => 'mb-3 form-group form-check checkbox is-invalid']],
328+
['div' => ['class' => 'mb-3 form-check checkbox is-invalid']],
329329
['input' => [
330330
'class' => 'is-invalid',
331331
'type' => 'hidden',
@@ -372,7 +372,7 @@ public function testDefaultAlignCheckboxControlWithErrorAndHelpAndOptions()
372372
],
373373
]);
374374
$expected = [
375-
['div' => ['class' => 'mb-3 form-group form-check checkbox is-invalid']],
375+
['div' => ['class' => 'mb-3 form-check checkbox is-invalid']],
376376
['input' => [
377377
'class' => 'is-invalid',
378378
'type' => 'hidden',
@@ -420,7 +420,7 @@ public function testDefaultAlignCheckboxControlContainerOptions()
420420
$expected = [
421421
['div' => [
422422
'attribute' => 'container-attribute',
423-
'class' => 'container-class mb-3 form-group form-check checkbox',
423+
'class' => 'container-class mb-3 form-check checkbox',
424424
]],
425425
['input' => [
426426
'type' => 'hidden',
@@ -459,7 +459,7 @@ public function testDefaultAlignCheckboxControlContainerOptionsWithError()
459459
$expected = [
460460
['div' => [
461461
'attribute' => 'container-attribute',
462-
'class' => 'container-class mb-3 form-group form-check checkbox is-invalid',
462+
'class' => 'container-class mb-3 form-check checkbox is-invalid',
463463
]],
464464
['input' => [
465465
'class' => 'is-invalid',
@@ -497,7 +497,7 @@ public function testDefaultAlignCheckboxControlNestedInput()
497497
'nestedInput' => true,
498498
]);
499499
$expected = [
500-
['div' => ['class' => 'mb-3 form-group form-check checkbox']],
500+
['div' => ['class' => 'mb-3 form-check checkbox']],
501501
['input' => [
502502
'type' => 'hidden',
503503
'name' => 'users',
@@ -528,7 +528,7 @@ public function testDefaultAlignCheckboxControlNestedInputWithTooltip()
528528
'tooltip' => 'Tooltip text',
529529
]);
530530
$expected = [
531-
['div' => ['class' => 'mb-3 form-group form-check checkbox']],
531+
['div' => ['class' => 'mb-3 form-check checkbox']],
532532
['input' => [
533533
'type' => 'hidden',
534534
'name' => 'users',
@@ -567,7 +567,7 @@ public function testDefaultAlignCheckboxControlNestedInputWithError()
567567
'nestedInput' => true,
568568
]);
569569
$expected = [
570-
['div' => ['class' => 'mb-3 form-group form-check checkbox is-invalid']],
570+
['div' => ['class' => 'mb-3 form-check checkbox is-invalid']],
571571
['input' => [
572572
'class' => 'is-invalid',
573573
'type' => 'hidden',
@@ -1041,7 +1041,7 @@ public function testDefaultAlignCheckboxControlSwitch()
10411041
'switch' => true,
10421042
]);
10431043
$expected = [
1044-
['div' => ['class' => 'mb-3 form-group form-check form-switch checkbox']],
1044+
['div' => ['class' => 'mb-3 form-check form-switch checkbox']],
10451045
['input' => [
10461046
'type' => 'hidden',
10471047
'name' => 'users',

0 commit comments

Comments
 (0)