Form validation handler for taxonomy_form_vocabulary().
Makes sure that the machine name of the vocabulary is not in the disallowed list (names that conflict with menu items, such as 'list' and 'add').
taxonomy_form_vocabulary_submit()
function taxonomy_form_vocabulary_validate($form, &$form_state) {
// During the deletion there is no 'machine_name' key
if (isset($form_state['values']['machine_name'])) {
// Do not allow machine names to conflict with taxonomy path arguments.
$machine_name = $form_state['values']['machine_name'];
$disallowed = array(
'add',
'list',
);
if (in_array($machine_name, $disallowed)) {
form_set_error('machine_name', t('The machine-readable name cannot be "add" or "list".'));
}
}
}