You are here

function _civicrm_entity_price_set_field_label_element_validate in CiviCRM Entity 7.2

Element validation handler for price field value label element of the price set widget

Parameters

$element:

$form_state:

$form:

1 string reference to '_civicrm_entity_price_set_field_label_element_validate'
civicrm_entity_price_set_field_field_widget_form_alter in modules/civicrm_entity_price_set_field/civicrm_entity_price_set_field.module
Implements hook_field_widget_form_alter().

File

modules/civicrm_entity_price_set_field/civicrm_entity_price_set_field.module, line 983

Code

function _civicrm_entity_price_set_field_label_element_validate($element, &$form_state, $form) {
  $element_parents = $element['#parents'];
  $element_id = $element['#element_id'];
  $parents = array();
  foreach ($element_parents as $index => $parent) {
    if (!is_numeric($parent) && $parent == 'price_field') {
      $parents[] = 'price_field';
      break;
    }
    else {
      $parents[] = $parent;
    }
  }
  $price_field_values = drupal_array_get_nested_value($form_state['values'], $parents);
  if (strpos($element_id, 'new-') !== FALSE && empty($price_field_values[$element_id]['label']) && empty($price_field_values[$element_id]['amount']) && empty($price_field_values[$element_id]['is_default'])) {

    // ignore?
  }
  else {
    if (empty($price_field_values[$element_id]['label'])) {
      form_set_error(implode('][', $parents) . '][' . $element_id . '][label', t('Label cannot be empty'));
    }
  }
}