1 field_ui.admin.inc | _field_ui_field_overview_form_validate_add_new($form, &$form_state) |
Validates the 'add new field' row of field_ui_field_overview_form().
See also
field_ui_field_overview_form_validate()
File
- core/
modules/ field_ui/ field_ui.admin.inc, line 660 - Admin page callbacks for the Field UI module.
Code
function _field_ui_field_overview_form_validate_add_new($form, &$form_state) {
$field = $form_state['values']['fields']['_add_new_field'];
// Validate if any information was provided in the 'add new field' row.
if (array_filter(array($field['label'], $field['field_name'], $field['type'], $field['widget_type']))) {
// Missing label.
if (!$field['label']) {
form_set_error('fields][_add_new_field][label', t('Add new field: you need to provide a label.'));
}
// Missing field name.
if (!$field['field_name']) {
form_set_error('fields][_add_new_field][field_name', t('Add new field: you need to provide a field name.'));
}
// Field name validation.
else {
$field_name = $field['field_name'];
// Add the 'field_' prefix.
$field_name = 'field_' . $field_name;
form_set_value($form['fields']['_add_new_field']['field_name'], $field_name, $form_state);
}
// Missing field type.
if (!$field['type']) {
form_set_error('fields][_add_new_field][type', t('Add new field: you need to select a field type.'));
}
// Missing widget type.
if (!$field['widget_type']) {
form_set_error('fields][_add_new_field][widget_type', t('Add new field: you need to select a widget.'));
}
// Wrong widget type.
elseif ($field['type']) {
$widget_types = field_ui_widget_type_options($field['type']);
if (!isset($widget_types[$field['widget_type']])) {
form_set_error('fields][_add_new_field][widget_type', t('Add new field: invalid widget.'));
}
}
}
}