Skip to content

Commit 057d4e0

Browse files
committed
Mark RadioButtonFormField as required
1 parent 71cd2f3 commit 057d4e0

File tree

9 files changed

+22
-10
lines changed

9 files changed

+22
-10
lines changed

wcfsetup/install/files/lib/acp/form/DevtoolsProjectAddForm.class.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,7 @@ protected function createForm()
101101

102102
$mode = RadioButtonFormField::create('mode')
103103
->label('wcf.acp.devtools.project.add.mode')
104+
->required()
104105
->options(function () {
105106
$options = [
106107
'import' => 'wcf.acp.devtools.project.add.mode.import',

wcfsetup/install/files/lib/acp/form/LanguageItemAddForm.class.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ protected function createForm()
6868
->label('wcf.global.form.data')
6969
->appendChildren([
7070
RadioButtonFormField::create('languageCategoryIDMode')
71+
->required()
7172
->label('wcf.acp.language.item.languageCategoryID.mode')
7273
->options([
7374
'automatic' => 'wcf.acp.language.item.languageCategoryID.mode.automatic',

wcfsetup/install/files/lib/acp/form/MenuItemAddForm.class.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,8 @@ protected function createForm()
146146
0 => 'wcf.acp.menu.item.link.external',
147147
1 => 'wcf.acp.menu.item.link.internal',
148148
])
149-
->value(1),
149+
->value(1)
150+
->required(),
150151
SingleSelectionFormField::create('pageID')
151152
->label('wcf.acp.page.page')
152153
->options($pageNodeList, true)

wcfsetup/install/files/lib/data/user/ignore/UserIgnoreAction.class.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -255,6 +255,7 @@ protected function getForm(): IFormDocument
255255
->get('wcf.user.ignore.type.hideMessages'),
256256
])
257257
->value($ignore->type ?: 0)
258+
->required()
258259
->addValidator(new FormFieldValidator('type', function (RadioButtonFormField $formField) {
259260
$userProfile = UserProfileRuntimeCache::getInstance()->getObject($this->parameters['userID']);
260261
if ($userProfile->getPermission('user.profile.cannotBeIgnored')) {

wcfsetup/install/files/lib/system/form/builder/field/RadioButtonFormField.class.php

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,11 +62,15 @@ public function supportsNestedOptions()
6262
*/
6363
public function validate()
6464
{
65-
if ($this->isRequired() && !isset($this->getOptions()[$this->getValue()])) {
66-
$this->addValidationError(new FormFieldValidationError(
67-
'invalidValue',
68-
'wcf.global.form.error.noValidSelection'
69-
));
65+
if ($this->isRequired() || $this->getValue() !== '') {
66+
if (!isset($this->getOptions()[$this->getValue()])) {
67+
$this->addValidationError(
68+
new FormFieldValidationError(
69+
'invalidValue',
70+
'wcf.global.form.error.noValidSelection'
71+
)
72+
);
73+
}
7074
}
7175

7276
parent::validate();

wcfsetup/install/files/lib/system/package/plugin/BoxPackageInstallationPlugin.class.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,8 @@ protected function addFormFields(IFormDocument $form)
560560
->label('wcf.acp.pip.box.boxType')
561561
->description('wcf.acp.pip.box.boxType.description')
562562
->options(\array_combine(Box::$availableBoxTypes, Box::$availableBoxTypes))
563-
->value('text'),
563+
->value('text')
564+
->required(),
564565

565566
SingleSelectionFormField::create('objectType')
566567
->label('wcf.acp.pip.box.objectType')

wcfsetup/install/files/lib/system/package/plugin/LanguagePackageInstallationPlugin.class.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,8 @@ protected function addFormFields(IFormDocument $form)
359359
'selection' => 'wcf.acp.language.item.languageCategoryID.mode.selection',
360360
'new' => 'wcf.acp.language.item.languageCategoryID.mode.new',
361361
])
362-
->value('automatic'),
362+
->value('automatic')
363+
->required(),
363364

364365
SingleSelectionFormField::create('languageCategoryID')
365366
->label('wcf.acp.language.item.languageCategoryID')

wcfsetup/install/files/lib/system/package/plugin/PagePackageInstallationPlugin.class.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,8 @@ protected function addFormFields(IFormDocument $form)
489489
->label('wcf.acp.pip.page.pageType')
490490
->description('wcf.acp.pip.page.pageType.description')
491491
->options(\array_combine(Page::$availablePageTypes, Page::$availablePageTypes))
492-
->addClass('floated'),
492+
->addClass('floated')
493+
->required(),
493494

494495
TextFormField::create('name')
495496
->label('wcf.acp.pip.page.name')

wcfsetup/install/files/lib/system/user/multifactor/TotpMultifactorMethod.class.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,8 @@ public function createAuthenticationForm(IFormDocument $form, Setup $setup): voi
280280
->description('wcf.user.security.multifactor.totp.deviceName.description.auth')
281281
->objectProperty('deviceID')
282282
->options($deviceOptions)
283-
->value($mostRecentlyUsed['deviceID']),
283+
->value($mostRecentlyUsed['deviceID'])
284+
->required(),
284285
]);
285286
}
286287

0 commit comments

Comments
 (0)