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.');
}
}
}
}
}
}
}