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 278
@todo Add file header description

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 ($template[$record_id]['fields'][$field_id]['exposed_validate']) {
          $result = db_fetch_object(chado_query(
          "SELECT 1 as valid FROM {%s} WHERE %s='%s'", 
          $template[$record_id]['table'], 
          $template[$record_id]['fields'][$field_id]['field'], 
          $form_state['values'][$record_id . '-' . $field_id]
          ));

          if (!$result->valid) {
            $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']
            )
            )
            );
          }
        }
      }
    }
  }

}