function list_field_validate

Implements hook_field_validate().

Possible error codes:

  • 'list_illegal_value': The value is not part of the list of allowed values.

File

modules/field/modules/list/list.module, line 390

Code

function list_field_validate($entity_type, $entity, $field, $instance, $langcode, $items, &$errors) {
    // Flatten the array before validating to account for optgroups.
    $allowed_values = options_array_flatten(list_allowed_values($field, $instance, $entity_type, $entity));
    foreach ($items as $delta => $item) {
        if (!empty($item['value'])) {
            if (!empty($allowed_values) && !isset($allowed_values[$item['value']])) {
                $errors[$field['field_name']][$langcode][$delta][] = array(
                    'error' => 'list_illegal_value',
                    'message' => t('%name: illegal value.', array(
                        '%name' => $instance['label'],
                    )),
                );
            }
        }
    }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.