function tripal_bulk_loader_set_constants_form_validate

2.x tripal_bulk_loader.constants.inc tripal_bulk_loader_set_constants_form_validate($form, $form_state)
3.x tripal_bulk_loader.constants.inc tripal_bulk_loader_set_constants_form_validate($form, $form_state)
1.x tripal_bulk_loader.constants.inc tripal_bulk_loader_set_constants_form_validate($form, $form_state)

Validate that the values entered exist in the database if indicated in hte template array

Related topics

File

tripal_bulk_loader/includes/tripal_bulk_loader.constants.inc, line 318
Manages the constants form added to the tripal bulk loader node form

Code

function tripal_bulk_loader_set_constants_form_validate($form, $form_state) {

  $template = unserialize($form_state['values']['template']);
  $indexes = unserialize($form_state['values']['indexes']);

  $op = $form_state['values'][$form_state['clicked_button']['#name']];
  if (strcmp('Add Constant Set', $op) == 0) {
    foreach ($indexes as $record_id => $array) {
      foreach ($array as $field_id) {
        if (isset($template[$record_id]['fields'][$field_id]['exposed_validate'])) {
          if ($template[$record_id]['fields'][$field_id]['exposed_validate']) {
            $result = chado_query(
            'SELECT 1 as valid FROM {' . $template[$record_id]['table'] . '} WHERE ' . $template[$record_id]['fields'][$field_id]['field'] . '=:value', 
            array(':value' => $form_state['values'][$record_id . '-' . $field_id])
            )->fetchField();

            if (!$result) {
              $msg = 'A ' . $form['exposed_fields']['new'][$record_id . '-' . $field_id]['#title'] . ' of "' . $form['exposed_fields']['new'][$record_id . '-' . $field_id]['#value'] . '" must already exist!';
              form_set_error($record_id . '-' . $field_id, $msg);
            }
            else {
              drupal_set_message(
              t(
              'Confirmed a %title of "%value" already exists.', 
              array(
                '%title' => $form['exposed_fields']['new'][$record_id . '-' . $field_id]['#title'],
                '%value' => $form['exposed_fields']['new'][$record_id . '-' . $field_id]['#value']
              )
              )
              );
            }
          }
        }
      }
    }
  }

}