You are here

function context_ui_edit_name_validate in Context 7.3

Same name and namespace in other branches
  1. 6.3 context_ui/export_ui/context_export_ui.class.php \context_ui_edit_name_validate()
  2. 6 context_ui/export_ui/context_export_ui.class.php \context_ui_edit_name_validate()

Replacement for ctools_export_ui_edit_name_validate(). Allow dashes.

1 call to context_ui_edit_name_validate()
context_export_ui::edit_finish_validate in context_ui/export_ui/context_export_ui.class.php
Override default final validation for ctools. With import wizard it was possible to get default ctools export ui name validation rules, this ensures we always get ours.
1 string reference to 'context_ui_edit_name_validate'
context_ui_form in context_ui/export_ui/context_export_ui.class.php
Generates the omnibus context definition editing form.

File

context_ui/export_ui/context_export_ui.class.php, line 313

Code

function context_ui_edit_name_validate($element, &$form_state) {
  $plugin = $form_state['plugin'];

  // Check for string identifier sanity
  if (!preg_match('!^[a-z0-9_-]+$!', $element['#value'])) {
    form_error($element, t('The name can only consist of lowercase letters, underscores, dashes, and numbers.'));
    return;
  }

  // Check for name collision
  if ($form_state['op'] != 'edit') {
    if (empty($form_state['item']->export_ui_allow_overwrite) && ($exists = ctools_export_crud_load($plugin['schema'], $element['#value']))) {
      form_error($element, t('A @plugin with this name already exists. Please choose another name or delete the existing item before creating a new one.', array(
        '@plugin' => $plugin['title singular'],
      )));
    }
  }
}