Skip to content

Text and number field kits

These kits live in src/Kits/Field/Text/. All field kits extend the abstract FieldKit, which adds ValueTrait (setValue(), setDefaultValue()), PrefixTrait and SuffixTrait.

TextFieldKit

A single-line textfield, with optional autocomplete route.

Class Drupal\formfactorykits\Kits\Field\Text\TextFieldKit (src/Kits/Field/Text/TextFieldKit.php)
Extends FieldKit
Factory method $kits->textField()
Form API #type textfield
Default ID textfield
Traits DefaultValueTrait, DescriptionTrait, PrefixTrait, RequiredTrait, SizeTrait, SuffixTrait, TitleTrait, ValueTrait

Setters

Method From
setAutoCompleteRoute(string $route) TextFieldKit
setAutoCompleteRouteParameter(string $key, string $value) TextFieldKit
setAutoCompleteRouteParameters(array $params) TextFieldKit
setDefaultValue(array\|string\|null $value) DefaultValueTrait (trait)
setDescription(string $description) DescriptionTrait (trait)
setMaxLength(int $length) TextFieldKit
setPrefix(array\|string\|null $value) PrefixTrait (trait)
setRequired(bool $required = TRUE) RequiredTrait (trait)
setSize(int $size) SizeTrait (trait)
setSuffix(array\|string\|null $value) SuffixTrait (trait)
setTitle(string $title) TitleTrait (trait)
setValue(array\|string\|null $value) ValueTrait (trait)

Example

$kit = $kits->textField('name')->setTitle('Name')->setRequired()->setMaxLength(64);

Generated render array ([$kit->getID() => $kit->getArray()])

[
  'name' => [
    '#type' => 'textfield',
    '#title' => 'Name',
    '#required' => TRUE,
    '#maxlength' => 64,
  ],
]

TextAreaKit

A multi-line textarea.

Class Drupal\formfactorykits\Kits\Field\Text\TextAreaKit (src/Kits/Field/Text/TextAreaKit.php)
Extends FieldKit
Factory method $kits->textArea()
Form API #type textarea
Default ID textarea
Traits DefaultValueTrait, DescriptionTrait, PrefixTrait, RequiredTrait, SuffixTrait, TitleTrait, ValueTrait

Setters

Method From
setDefaultValue(array\|string\|null $value) DefaultValueTrait (trait)
setDescription(string $description) DescriptionTrait (trait)
setPrefix(array\|string\|null $value) PrefixTrait (trait)
setRequired(bool $required = TRUE) RequiredTrait (trait)
setSuffix(array\|string\|null $value) SuffixTrait (trait)
setTitle(string $title) TitleTrait (trait)
setValue(array\|string\|null $value) ValueTrait (trait)

Example

$kit = $kits->textArea('bio')->setTitle('Bio')->setDescription('A few words.');

Generated render array ([$kit->getID() => $kit->getArray()])

[
  'bio' => [
    '#type' => 'textarea',
    '#title' => 'Bio',
    '#description' => 'A few words.',
  ],
]

EmailKit

An email input. It has no title setter; pass title in $parameters if you need one.

Class Drupal\formfactorykits\Kits\Field\Text\EmailKit (src/Kits/Field/Text/EmailKit.php)
Extends FieldKit
Factory method $kits->email()
Form API #type email
Default ID email
Traits DefaultValueTrait, PatternTrait, PrefixTrait, SizeTrait, SuffixTrait, ValueTrait

Setters

Method From
setDefaultValue(array\|string\|null $value) ValueTrait (trait)
setPattern(string $pattern) PatternTrait (trait)
setPrefix(array\|string\|null $value) PrefixTrait (trait)
setSize(int $size) SizeTrait (trait)
setSuffix(array\|string\|null $value) SuffixTrait (trait)
setValue(array\|string\|null $value) ValueTrait (trait)

Example

$kit = $kits->email('mail', ['title' => 'Email'])->setSize(40);

Generated render array ([$kit->getID() => $kit->getArray()])

[
  'mail' => [
    '#title' => 'Email',
    '#type' => 'email',
    '#size' => 40,
  ],
]

PasswordKit

A password input. Default title t('Password').

Class Drupal\formfactorykits\Kits\Field\Text\PasswordKit (src/Kits/Field/Text/PasswordKit.php)
Extends FieldKit
Factory method $kits->password()
Form API #type password
Default ID password
Traits DefaultValueTrait, PatternTrait, PrefixTrait, SizeTrait, SuffixTrait, ValueTrait

Setters

Method From
setDefaultValue(array\|string\|null $value) ValueTrait (trait)
setPattern(string $pattern) PatternTrait (trait)
setPrefix(array\|string\|null $value) PrefixTrait (trait)
setSize(int $size) SizeTrait (trait)
setSuffix(array\|string\|null $value) SuffixTrait (trait)
setValue(array\|string\|null $value) ValueTrait (trait)

Example

$kit = $kits->password();

Generated render array ([$kit->getID() => $kit->getArray()])

[
  'password' => [
    '#title' => t('Password'),
    '#type' => 'password',
  ],
]

PasswordConfirmKit

A password_confirm element (two password inputs that must match).

Class Drupal\formfactorykits\Kits\Field\Text\PasswordConfirmKit (src/Kits/Field/Text/PasswordConfirmKit.php)
Extends FieldKit
Factory method $kits->passwordConfirm()
Form API #type password_confirm
Default ID password_confirm
Traits DefaultValueTrait, PatternTrait, PrefixTrait, SizeTrait, SuffixTrait, ValueTrait

Setters

Method From
setDefaultValue(array\|string\|null $value) ValueTrait (trait)
setPattern(string $pattern) PatternTrait (trait)
setPrefix(array\|string\|null $value) PrefixTrait (trait)
setSize(int $size) SizeTrait (trait)
setSuffix(array\|string\|null $value) SuffixTrait (trait)
setValue(array\|string\|null $value) ValueTrait (trait)

Example

$kit = $kits->passwordConfirm('pass')->setSize(25);

Generated render array ([$kit->getID() => $kit->getArray()])

[
  'pass' => [
    '#type' => 'password_confirm',
    '#size' => 25,
  ],
]

PathKit

A path element (core Drupal\Core\Render\Element\PathElement), which validates and optionally converts an internal path. Extends TextFieldKit. Default title t('Path').

Class Drupal\formfactorykits\Kits\Field\Text\PathKit (src/Kits/Field/Text/PathKit.php)
Extends TextFieldKit
Factory method $kits->path()
Form API #type path
Default ID path
Traits DefaultValueTrait, DescriptionTrait, PrefixTrait, RequiredTrait, SizeTrait, SuffixTrait, TitleTrait, ValueTrait

Setters

Method From
setAutoCompleteRoute(string $route) TextFieldKit
setAutoCompleteRouteParameter(string $key, string $value) TextFieldKit
setAutoCompleteRouteParameters(array $params) TextFieldKit
setConversion(int $setting) PathKit
setDefaultValue(array\|string\|null $value) DefaultValueTrait (trait)
setDescription(string $description) DescriptionTrait (trait)
setMaxLength(int $length) TextFieldKit
setPrefix(array\|string\|null $value) PrefixTrait (trait)
setRequired(bool $required = TRUE) RequiredTrait (trait)
setSize(int $size) SizeTrait (trait)
setSuffix(array\|string\|null $value) SuffixTrait (trait)
setTitle(string $title) TitleTrait (trait)
setValidate(bool $validate = TRUE) PathKit
setValue(array\|string\|null $value) ValueTrait (trait)

Example

$kit = $kits->path('target')->setValidate();

Generated render array ([$kit->getID() => $kit->getArray()])

[
  'target' => [
    '#title' => t('Path'),
    '#type' => 'path',
    '#validate_path' => TRUE,
  ],
]

SearchKit

A search input.

Class Drupal\formfactorykits\Kits\Field\Text\SearchKit (src/Kits/Field/Text/SearchKit.php)
Extends FieldKit
Factory method $kits->search()
Form API #type search
Default ID search
Traits DefaultValueTrait, PrefixTrait, SuffixTrait, TitleTrait, ValueTrait

Setters

Method From
setDefaultValue(array\|string\|null $value) DefaultValueTrait (trait)
setPrefix(array\|string\|null $value) PrefixTrait (trait)
setSuffix(array\|string\|null $value) SuffixTrait (trait)
setTitle(string $title) TitleTrait (trait)
setValue(array\|string\|null $value) ValueTrait (trait)

Example

$kit = $kits->search('q')->setTitle('Search');

Generated render array ([$kit->getID() => $kit->getArray()])

[
  'q' => [
    '#type' => 'search',
    '#title' => 'Search',
  ],
]

UrlKit

A url input. Default title t('URL').

Class Drupal\formfactorykits\Kits\Field\Text\UrlKit (src/Kits/Field/Text/UrlKit.php)
Extends FieldKit
Factory method $kits->url()
Form API #type url
Default ID url
Traits DefaultValueTrait, DescriptionTrait, PatternTrait, PrefixTrait, SizeTrait, SuffixTrait, ValueTrait

Setters

Method From
setDefaultValue(array\|string\|null $value) DefaultValueTrait (trait)
setDescription(string $description) DescriptionTrait (trait)
setPattern(string $pattern) PatternTrait (trait)
setPrefix(array\|string\|null $value) PrefixTrait (trait)
setSize(int $size) SizeTrait (trait)
setSuffix(array\|string\|null $value) SuffixTrait (trait)
setValue(array\|string\|null $value) ValueTrait (trait)

Example

$kit = $kits->url('homepage')->setDescription('Starts with https://');

Generated render array ([$kit->getID() => $kit->getArray()])

[
  'homepage' => [
    '#title' => t('URL'),
    '#type' => 'url',
    '#description' => 'Starts with https://',
  ],
]

NumberKit

A number input.

Class Drupal\formfactorykits\Kits\Field\Text\Number\NumberKit (src/Kits/Field/Text/Number/NumberKit.php)
Extends FieldKit
Factory method $kits->number()
Form API #type number
Default ID number
Traits DefaultValueTrait, DescriptionTrait, PrefixTrait, SuffixTrait, TitleTrait, ValueTrait

Setters

Method From
setDefaultValue(array\|string\|null $value) ValueTrait (trait)
setDescription(string $description) DescriptionTrait (trait)
setMaximum(int $max) NumberKit
setMinimum(int $min) NumberKit
setPrefix(array\|string\|null $value) PrefixTrait (trait)
setSize(int $size) NumberKit
setStep(int $step) NumberKit
setSuffix(array\|string\|null $value) SuffixTrait (trait)
setTitle(string $title) TitleTrait (trait)
setValue(array\|string\|null $value) ValueTrait (trait)

Example

$kit = $kits->number('qty')->setTitle('Quantity')->setMinimum(1)->setMaximum(10)->setStep(1);

Generated render array ([$kit->getID() => $kit->getArray()])

[
  'qty' => [
    '#type' => 'number',
    '#title' => 'Quantity',
    '#min' => 1,
    '#max' => 10,
    '#step' => 1,
  ],
]

RangeKit

A range slider. Default title t('Range').

Class Drupal\formfactorykits\Kits\Field\Text\Number\RangeKit (src/Kits/Field/Text/Number/RangeKit.php)
Extends FieldKit
Factory method $kits->range()
Form API #type range
Default ID range
Traits DefaultValueTrait, DescriptionTrait, PrefixTrait, SuffixTrait, TitleTrait, ValueTrait

Setters

Method From
setDefaultValue(array\|string\|null $value) ValueTrait (trait)
setDescription(string $description) DescriptionTrait (trait)
setMaximum(int $max) RangeKit
setMinimum(int $min) RangeKit
setPrefix(array\|string\|null $value) PrefixTrait (trait)
setStep(int $step) RangeKit
setSuffix(array\|string\|null $value) SuffixTrait (trait)
setTitle(string $title) TitleTrait (trait)
setValue(array\|string\|null $value) ValueTrait (trait)

Example

$kit = $kits->range('volume')->setMinimum(0)->setMaximum(11);

Generated render array ([$kit->getID() => $kit->getArray()])

[
  'volume' => [
    '#title' => t('Range'),
    '#type' => 'range',
    '#min' => 0,
    '#max' => 11,
  ],
]

TelephoneKit

A tel input. Default title t('Phone').

Class Drupal\formfactorykits\Kits\Field\Text\Number\TelephoneKit (src/Kits/Field/Text/Number/TelephoneKit.php)
Extends FieldKit
Factory method $kits->telephone()
Form API #type tel
Default ID telephone
Traits DefaultValueTrait, DescriptionTrait, PatternTrait, PrefixTrait, SizeTrait, SuffixTrait, TitleTrait, ValueTrait

Setters

Method From
setDefaultValue(array\|string\|null $value) DefaultValueTrait (trait)
setDescription(string $description) DescriptionTrait (trait)
setPattern(string $pattern) PatternTrait (trait)
setPrefix(array\|string\|null $value) PrefixTrait (trait)
setSize(int $size) SizeTrait (trait)
setSuffix(array\|string\|null $value) SuffixTrait (trait)
setTitle(string $title) TitleTrait (trait)
setValue(array\|string\|null $value) ValueTrait (trait)

Example

$kit = $kits->telephone('phone')->setPattern('[0-9 ]+');

Generated render array ([$kit->getID() => $kit->getArray()])

[
  'phone' => [
    '#title' => t('Phone'),
    '#type' => 'tel',
    '#pattern' => '[0-9 ]+',
  ],
]