From d72ad2c8668aa0ff6ac8ac000fca334230cd01d2 Mon Sep 17 00:00:00 2001 From: Cooper Dalrymple Date: Mon, 8 Jun 2026 15:30:14 -0500 Subject: [PATCH] Fix captcha validation on multi-page forms --- inc/gravityforms/class-addon.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/inc/gravityforms/class-addon.php b/inc/gravityforms/class-addon.php index 16b4468..0fbc15a 100644 --- a/inc/gravityforms/class-addon.php +++ b/inc/gravityforms/class-addon.php @@ -12,11 +12,12 @@ namespace Ogre\Captcha\GravityForms; use Ogre\Singleton; use Ogre\Captcha as Plugin; -use GFForms; -use GFAddOn; use Ogre\Captcha\API; use Ogre\Captcha\Settings; use Ogre\Captcha\Widget; +use GFForms; +use GFAddOn; +use GFFormDisplay; defined('ABSPATH') || exit; @@ -132,7 +133,9 @@ final class Addon extends GFAddOn { public function validation(array $validation_result, string $context): array { if ($context != 'form-submit') return $validation_result; - if (!Settings::is_connected() || !$this->is_enabled(rgar($validation_result, 'form'))) return $validation_result; + $form = $validation_result['form']; + if (!GFFormDisplay::is_last_page($form) || rgpost('action') == 'heartbeat') return $validation_result; + if (!Settings::is_connected() || !$this->is_enabled($form)) return $validation_result; $errors = API::process(Widget::get_token()); if ($errors->has_errors()) {