function taxonomy_unique_term_name_validate in Taxonomy unique 8
Same name and namespace in other branches
- 7 taxonomy_unique.module \taxonomy_unique_term_name_validate()
Implements _form_validate() for taxonomy_form_term().
1 string reference to 'taxonomy_unique_term_name_validate'
File
- ./
taxonomy_unique.module, line 53
Code
function taxonomy_unique_term_name_validate($form, \Drupal\Core\Form\FormStateInterface $form_state) {
$triggering_element = $form_state
->getTriggeringElement();
// If we don't want to save, don't validate the term name.
if ($triggering_element['#button_type'] != 'primary') {
return;
}
// Get the needed variables from $form_state.
$name = $form_state
->getValue('name');
$name = $name[0]['value'];
$vocabulary_machine_name = $form_state
->getFormObject()
->getEntity()
->getVocabularyId();
$tid = $form_state
->getFormObject()
->getEntity()
->id();
// If the name isn't empty and unique check failed, mark field as invalid.
if ($name != '' && !taxonomy_unique_is_term_unique($name, $vocabulary_machine_name, $tid)) {
$error_message = \Drupal::config('taxonomy_unique.settings')
->get($form_state
->getFormObject()
->getEntity()
->getVocabularyId() . '_message');
if (empty($error_message)) {
$error_message = TAXONOMY_UNIQUE_DEFAULT_MESSAGE;
}
$form_state
->setErrorByName('name', \Drupal\Component\Utility\Xss::filter(\Drupal\Component\Utility\SafeMarkup::format($error_message, array(
'@term' => $name,
'@vocabulary' => $vocabulary_machine_name,
))));
}
}