public function validation($validation_result)
 {
     if (!$this->has_feed($validation_result['form']['id'], true)) {
         return $validation_result;
     }
     foreach ($validation_result['form']['fields'] as $field) {
         $current_page = GFFormDisplay::get_source_page($validation_result['form']['id']);
         $field_on_curent_page = $current_page > 0 && $field['pageNumber'] == $current_page;
         if (GFFormsModel::get_input_type($field) != 'creditcard' || !$field_on_curent_page) {
             continue;
         }
         if ($this->getSecureSubmitJsError() && $this->hasPayment($validation_result)) {
             $field['failed_validation'] = true;
             $field['validation_message'] = $this->getSecureSubmitJsError();
         } else {
             // override validation in case user has marked field as required allowing securesubmit to handle cc validation
             $field['failed_validation'] = false;
         }
         // only one cc field per form, break once we've found it
         break;
     }
     // revalidate the validation result
     $validation_result['is_valid'] = true;
     foreach ($validation_result['form']['fields'] as $field) {
         if ($field['failed_validation']) {
             $validation_result['is_valid'] = false;
             break;
         }
     }
     return parent::validation($validation_result);
 }