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.