use wcf\system\form\builder\field\data\CustomFormFieldDataProcessor;
use wcf\system\form\builder\field\dependency\NonEmptyFormFieldDependency;
use wcf\system\form\builder\field\dependency\ValueFormFieldDependency;
+use wcf\system\form\builder\field\IsDisabledFormField;
use wcf\system\form\builder\field\TitleFormField;
use wcf\system\form\builder\field\validation\FormFieldValidationError;
use wcf\system\form\builder\field\validation\FormFieldValidator;
->i18n()
->i18nRequired()
->required(),
- BooleanFormField::create('isDisabled')
+ IsDisabledFormField::create()
->label('Foo is Disabled')
->description('If Foo is disabled, it is indeed disabled.')
->addValidator(new FormFieldValidator('notSelected', function(BooleanFormField $field) {
--- /dev/null
+<?php
+namespace wcf\system\form\builder\field;
+use wcf\system\form\builder\IFormNode;
+
+/**
+ * Implementation of a form field for disabling an object.
+ *
+ * @author Matthias Schmidt
+ * @copyright 2001-2018 WoltLab GmbH
+ * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @package WoltLabSuite\Core\System\Form\Builder\Field
+ * @since 3.2
+ */
+class IsDisabledFormField extends BooleanFormField {
+ /**
+ * @inheritDoc
+ */
+ public static function create(string $id = null): IFormNode {
+ if ($id !== null) {
+ throw new \InvalidArgumentException("This method does not expect any parameters. The id of form fields of this class are always 'isDisabled'.");
+ }
+
+ return parent::create('isDisabled');
+ }
+}