function FieldStorageConfigEditForm::getCardinalityForm
Same name in other branches
- 9 core/modules/field_ui/src/Form/FieldStorageConfigEditForm.php \Drupal\field_ui\Form\FieldStorageConfigEditForm::getCardinalityForm()
- 8.9.x core/modules/field_ui/src/Form/FieldStorageConfigEditForm.php \Drupal\field_ui\Form\FieldStorageConfigEditForm::getCardinalityForm()
- 11.x core/modules/field_ui/src/Form/FieldStorageConfigEditForm.php \Drupal\field_ui\Form\FieldStorageConfigEditForm::getCardinalityForm()
Builds the cardinality form.
Return value
array The cardinality form render array.
1 call to FieldStorageConfigEditForm::getCardinalityForm()
- FieldStorageConfigEditForm::form in core/
modules/ field_ui/ src/ Form/ FieldStorageConfigEditForm.php - Gets the actual form array to be built.
File
-
core/
modules/ field_ui/ src/ Form/ FieldStorageConfigEditForm.php, line 134
Class
- FieldStorageConfigEditForm
- Provides a form for the "field storage" edit page.
Namespace
Drupal\field_ui\FormCode
protected function getCardinalityForm() {
$form = [
// Reset #parents so the additional container does not appear.
'#parents' => [],
'#type' => 'fieldset',
'#title' => $this->t('Allowed number of values'),
'#attributes' => [
'class' => [
'container-inline',
'fieldgroup',
'form-composite',
],
],
];
if ($enforced_cardinality = $this->getEnforcedCardinality()) {
if ($enforced_cardinality === FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED) {
$markup = $this->t("This field cardinality is set to unlimited and cannot be configured.");
}
else {
$markup = $this->t("This field cardinality is set to @cardinality and cannot be configured.", [
'@cardinality' => $enforced_cardinality,
]);
}
$form['cardinality'] = [
'#markup' => $markup,
];
}
else {
$form['#element_validate'][] = [
$this,
'validateCardinality',
];
$cardinality = $this->entity
->getCardinality();
$form['cardinality'] = [
'#type' => 'select',
'#title' => $this->t('Allowed number of values'),
'#title_display' => 'invisible',
'#options' => [
'number' => $this->t('Limited'),
FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED => $this->t('Unlimited'),
],
'#default_value' => $cardinality == FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED ? FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED : 'number',
];
$form['cardinality_number'] = [
'#type' => 'number',
'#default_value' => $cardinality != FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED ? $cardinality : 1,
'#min' => 1,
'#title' => $this->t('Limit'),
'#title_display' => 'invisible',
'#size' => 2,
'#states' => [
'visible' => [
':input[name="field_storage[subform][cardinality]"]' => [
'value' => 'number',
],
],
'disabled' => [
':input[id="field_storage[subform][cardinality]"]' => [
'value' => FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED,
],
],
],
];
}
return $form;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.