diff --git a/ife.module b/ife.module index 38d4604..ad476ca 100644 --- a/ife.module +++ b/ife.module @@ -177,7 +177,13 @@ function ife_form_alter(&$form, &$form_state, $form_id) { $display = ife_form_id_display($ife_options); $form['#ife_display'] = $display; - $form['#validate'][] = 'ife_form_validator'; + // Commerce checkout. + if (strpos($form_id, 'commerce_checkout_form') !== FALSE) { + $form['buttons']['continue']['#validate'][] = 'ife_form_validator'; + } + else { + $form['#validate'][] = 'ife_form_validator'; + } } // Print form_ids. @@ -196,6 +202,13 @@ function ife_form_alter(&$form, &$form_state, $form_id) { function ife_form_validator(&$form, &$form_state) { static $global_error_processed = FALSE; + // Commerce checkout. + if (strpos($form['#form_id'], 'commerce_checkout_form') !== FALSE && isset($form_state['storage']['errors'])) { + foreach ($form_state['storage']['errors'] as $name => $message) { + form_set_error($name, $message); + } + unset($form_state['storage']['messages']); + } $form_errors = form_get_errors(); if (!empty($form_errors)) { ife_element_errors_set($form, $form['#ife_display']); @@ -267,19 +280,6 @@ function ife_element_errors_set(&$element, $display, $carry_down = FALSE) { } /** - * Implements hook_commerce_checkout_pane_info_alter(). - */ -function ife_commerce_checkout_pane_info_alter(&$panes) { - foreach ((array) $panes as $key => $pane) { - if (!isset($panes[$key]['callbacks'])) { - $panes[$key]['callbacks'] = array( - 'checkout_form_validate' => 'ife_form_validator', - ); - } - } -} - -/** * Implements hook_schema_alter(). * * Makes the ife table usable by ctools' export.inc.