- $form['cardinality_container']['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="cardinality"]' => ['value' => 'number'],
+
+ 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'][] = '::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'),