You are here

function civicrm_entity_price_set_field_display_form_event_validate in CiviCRM Entity 7.2

Validation Handler for the CiviCRM entity price set event registration form display

_state

Parameters

$form:

File

modules/civicrm_entity_price_set_field/includes/civicrm_entity_price_set_field.event_registration.inc, line 933
CiviCRM Entity Price Set Field, Form display formatter, event registration

Code

function civicrm_entity_price_set_field_display_form_event_validate($form, $form_state) {

  // cc card block validation
  if ($form_state['step'] == 1 && !empty($form_state['event']->is_monetary) && empty($form_state['values']['registration_form']['pay_later'])) {
    if (empty($form_state['values']['registration_form']['registration_cc_block']['first_name_on_card'])) {
      form_set_error('registration_form][registration_cc_block][first_name_on_card', 'First name on card field required.');
    }
    if (empty($form_state['values']['registration_form']['registration_cc_block']['last_name_on_card'])) {
      form_set_error('registration_form][registration_cc_block][last_name_on_card', 'Last name on card field required.');
    }
    if (empty($form_state['values']['registration_form']['registration_cc_block']['cc_number'])) {
      form_set_error('registration_form][registration_cc_block][cc_number', 'Credit card number required.');
    }
    elseif (!is_numeric($form_state['values']['registration_form']['registration_cc_block']['cc_number'])) {
      form_set_error('registration_form][registration_cc_block][cc_number', 'Credit card number must be numeric.');
    }
    if (empty($form_state['values']['registration_form']['registration_cc_block']['cvv'])) {
      form_set_error('registration_form][registration_cc_block][cvv', 'CVV required.');
    }
    elseif (!is_numeric($form_state['values']['registration_form']['registration_cc_block']['cvv'])) {
      form_set_error('registration_form][registration_cc_block][cvv', 'CVV must be numeric.');
    }
    if (empty($form_state['values']['registration_form']['registration_cc_block']['payment_processor_selection'])) {
      form_set_error('registration_form][registration_cc_block][payment_processor_selection', 'Payment method selection is required.');
    }
  }

  // price set field text widget validation
  if ($form_state['step'] == 1) {
    foreach ($form_state['price_set_data'] as $count => $ps_data) {
      foreach ($form_state['price_set_data'][$count]['price_fields'] as $pf_id => $pf_data) {
        if ($pf_data['pf_entity']->html_type == 'Text') {
          foreach ($form_state['values']['registration_form']['contacts'] as $index => $submitted_values) {
            if (!empty($submitted_values['price_set'][$pf_id]['price_field_values']) && !is_numeric($submitted_values['price_set'][$pf_id]['price_field_values'])) {
              form_set_error("registration_form][contacts][{$index}][price_set][{$pf_id}][price_field_values", 'Must be numeric.');
            }
          }
        }
      }
    }
  }
}