diff --git a/external_entities.module b/external_entities.module index 809d13bd9c276d5b1a4e502dfb9ee9eb2ab27b49..7d70d3bbabceab6577820ccda5ceb28d46c7e4ba 100644 --- a/external_entities.module +++ b/external_entities.module @@ -259,8 +259,14 @@ function external_entities_form_field_storage_config_edit_form_alter(&$form, For if (!empty($form['cardinality_container']['#element_validate'])) { $entity_type = \Drupal::entityTypeManager()->getDefinition($form_state->get('entity_type_id')); if ($entity_type && $entity_type->getProvider() === 'external_entities') { - $key = array_search('::validateCardinality', $form['cardinality_container']['#element_validate']); - if ($key !== FALSE) { + foreach ($form['cardinality_container']['#element_validate'] as $i => $callback) { + if ((is_string($callback) && $callback == '::validateCardinality') + || (is_array($callback) && $callback[1] == 'validateCardinality')) { + $key = $i; + break; + } + } + if (isset($key)) { $form['cardinality_container']['#element_validate'][$key] = 'external_entities_field_storage_config_edit_form_validate_cardinality'; } }