You are here

public function FlexiformElementField_entityreference::autocompleteTagsValidate in Flexiform 7

Validate tags autocomplete input.

See also

_entityreference_autocomplete_tags_validate

File

includes/element/fields/entityreference.inc, line 99
Contains FlexiformElementField_entityreference class.

Class

FlexiformElementField_entityreference
Class for entityreference Field API elements.

Code

public function autocompleteTagsValidate($element, &$form_state, $form) {
  $value = array();

  // If a value was entered into the autocomplete...
  if (!empty($element['#value'])) {
    $entities = drupal_explode_tags($element['#value']);
    foreach ($entities as $entity) {
      if (preg_match("/.+\\((\\d+)\\)/", $entity, $matches)) {
        $value[] = array(
          'target_id' => $matches[1],
        );
      }
      else {
        $field = $this
          ->getField();
        $instance = $this
          ->getInstance();
        $handler = entityreference_get_selection_handler($field, $instance, $element['#entity_type'], $element['#entity']);
        $value[] = array(
          'target_id' => $handler
            ->validateAutocompleteInput($entity, $element, $form_state, $form),
        );
      }
    }
  }
  form_set_value($element, $value, $form_state);
}