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 ]+',
],
]