public function data__sequence_widget::validate

3.x data__sequence_widget.inc public data__sequence_widget::validate($element, $form, &$form_state, $langcode, $delta)

Overrides TripalFieldWidget::validate

See also

TripalFieldWidget::submit()

File

tripal_chado/includes/TripalFields/data__sequence/data__sequence_widget.inc, line 54

Class

data__sequence_widget

Code

public function validate($element, $form, &$form_state, $langcode, $delta) {
  $field_name = $this->field['field_name'];
  $field_table = $this->instance['settings']['chado_table'];
  $field_column = $this->instance['settings']['chado_column'];

  // Remove any white spaces.
  $residues = $form_state['values'][$field_name]['und'][$delta]['chado-' . $field_table . '__' . $field_column];
  if ($residues) {
    $residues = preg_replace('/\s/', '', $residues);
    $form_state['values'][$field_name]['und'][$delta]['value'] = $residues;
    $form_state['values'][$field_name]['und'][$delta]['chado-' . $field_table . '__' . $field_column] = $residues;
  }
  // If the residue information has been removed then we want to signal such.
  // When it's removed the value != residues but if it was never set then they're both empty.
  elseif (!empty($form_state['values'][$field_name]['und'][$delta]['value'])) {
    $form_state['values'][$field_name]['und'][$delta]['value'] = 'delete_me';
    $form_state['values'][$field_name]['und'][$delta]['chado-' . $field_table . '__' . $field_column] = '';
  }
}