mediamosa_browse_asset_form_validate

Versions
mediamosa-21
mediamosa_browse_asset_form_validate($form, &$form_state)

Submit form.

Code

sites/all/modules/mediamosa/maintenance/browse/mediamosa_maintenance_browse_asset.inc, line 858

<?php
function mediamosa_browse_asset_form_validate($form, &$form_state) {

  if ((empty($form_state['values']['new_metadata_property']) && $form_state['values']['new_metadata_value'] != '') || (!empty($form_state['values']['new_metadata_property']) && $form_state['values']['new_metadata_value'] == '')) {
    if (empty($form_state['values']['new_metadata_property'])) {
      form_set_error('new_metadata_property', t('Select the metadata property.'));
    }
    else {
      form_set_error('new_metadata_value', t('give the selected metadata property a value.'));
    }
  }

  // Get the metadata list.
  $metadatas = mediamosa_asset_metadata_property::get_metadata_properties_full();

  foreach ($metadatas as $name => $metadata) {
    // So it matches.
    $name_rpl = 'rpl_' . $name;

    // Check if $name is a valid metadata field.
    // We also skip checks on non-changed values.
    if (!isset($form_state['values'][$name_rpl]) || $form_state['values'][$name_rpl] == '') {
      continue;
    }

    // Now validate the value, empty is allowed.
    switch ($metadata['propdef_type']) {
      case mediamosa_asset_metadata_property_db::TYPE_CHAR:
        break;

      case mediamosa_asset_metadata_property_db::TYPE_DATETIME:
        try {
          $form_state['values'][$name_rpl] = mediamosa_type::check($name, mediamosa_type::TYPE_DATETIME, $form_state['values'][$name_rpl]);
        }
        catch (mediamosa_exception $e) {
          form_set_error($name_rpl, t('Invalid date, must be in format YYYY-MM-DD or YYYY-MM-DD 00:00:00'));
        }
        break;

      case mediamosa_asset_metadata_property_db::TYPE_INT:
        if (!is_numeric($form_state['values'][$name_rpl])) {
          form_set_error($name_rpl, t('This value must be numeric.'));
        }
        break;

      default:
        assert(0);
        drupal_set_message(t('Unknown/unsupported metadata type.'), 'error');
        break;
    }
  }
}
?>