public static function validateAllowedValues($element, FormStateInterface
$form_state) { $values =
static::
extractAllowedValues($element['#value'
],
$element['#field_has_data'
]);
if (!
is_array($values)) { $form_state->
setError($element,
new TranslatableMarkup('Allowed values list: invalid input.'
));
} else { // Check that keys are valid for the field type.
foreach ($values as $key =>
$value) { if ($error =
static::
validateAllowedValue($key)) { $form_state->
setError($element,
$error);
break;
} } // Prevent removing values currently in use.
if ($element['#field_has_data'
]) { $lost_keys =
array_keys(array_diff_key($element['#allowed_values'
],
$values));
if (_options_values_in_use($element['#entity_type'
],
$element['#field_name'
],
$lost_keys)) { $form_state->
setError($element,
new TranslatableMarkup('Allowed values list: some values are being removed while currently in use.'
));
} }