You are here

function cck_table_field_validate in CCK Table Field 7

Implements hook_field_validate().

Possible error codes:

  • %name: mis-align number of columns.

File

./cck_table.module, line 219
Defines a field type that outputs data in a table.

Code

function cck_table_field_validate($entity_type, $entity, $field, $instance, $langcode, $items, &$errors) {
  foreach ($items as $delta => $item) {
    if ($instance['widget']['settings']['enforce_misalign_col']) {
      if (is_array($items)) {
        $error_element = isset($item['_error_element']) ? $item['_error_element'] : '';
        if (is_array($item) && isset($item['_error_element'])) {
          unset($item['_error_element']);
        }
        if ($item['table'] != '') {
          $lines = explode("\n", $item['table']);
          $lines = array_map('trim', $lines);
          $lines = array_filter($lines, 'strlen');
          foreach ($lines as $line) {
            if (!isset($cell_count)) {
              $cell_count = count(explode('|', $line));
            }
            elseif ($cell_count != count(explode('|', $line))) {
              form_set_error($error_element, t('%name: mis-align number of columns.', array(
                '%name' => t($instance['label']),
              )));
              break;
            }
          }
        }
      }
    }
  }
}