public function SelectionBase::validateAutocompleteInput in Entity reference 8
Implements EntityReferenceHandler::validateAutocompleteInput().
Overrides SelectionInterface::validateAutocompleteInput
File
- lib/
Drupal/ entityreference/ Plugin/ entityreference/ selection/ SelectionBase.php, line 210 - Definition of Drupal\entityreference\Plugin\entityreference\selection\SelectionBase.
Class
- SelectionBase
- Plugin implementation of the 'selection' entityreference.
Namespace
Drupal\entityreference\Plugin\entityreference\selectionCode
public function validateAutocompleteInput($input, &$element, &$form_state, $form) {
$entities = $this
->getReferencableEntities($input, '=', 6);
if (empty($entities)) {
// Error if there are no entities available for a required field.
form_error($element, t('There are no entities matching "%value"', array(
'%value' => $input,
)));
}
elseif (count($entities) > 5) {
// Error if there are more than 5 matching entities.
form_error($element, t('Many entities are called %value. Specify the one you want by appending the id in parentheses, like "@value (@id)"', array(
'%value' => $input,
'@value' => $input,
'@id' => key($entities),
)));
}
elseif (count($entities) > 1) {
// More helpful error if there are only a few matching entities.
$multiples = array();
foreach ($entities as $id => $name) {
$multiples[] = $name . ' (' . $id . ')';
}
form_error($element, t('Multiple entities match this reference; "%multiple"', array(
'%multiple' => implode('", "', $multiples),
)));
}
else {
// Take the one and only matching entity.
return key($entities);
}
}