From 4d83a7eec36c89d1d5cd5cb35ceb10d566e4b7e0 Mon Sep 17 00:00:00 2001 From: Mykyta Synelnikov Date: Wed, 25 Jun 2025 16:24:14 +0300 Subject: [PATCH] Fix email validation logic in Ultimate Member forms Updated conditions to handle empty and invalid email input more accurately. Ensures required emails are not skipped and includes stricter checks for existing or incorrect emails. --- includes/core/um-actions-form.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/core/um-actions-form.php b/includes/core/um-actions-form.php index 74c592af..b79f25da 100644 --- a/includes/core/um-actions-form.php +++ b/includes/core/um-actions-form.php @@ -937,9 +937,9 @@ function um_submit_form_errors_hook_( $submitted_data, $form_data ) { break; } - if ( ! empty( $array['required'] ) && '' === $submitted_data[ $key ] ) { + if ( ! empty( $array['required'] ) && empty( $submitted_data[ $key ] ) ) { UM()->form()->add_error( $key, __( 'You must provide your email', 'ultimate-member' ) ); - } elseif ( ! is_email( $submitted_data[ $key ] ) || email_exists( $submitted_data[ $key ] ) ) { + } elseif ( ! empty( $submitted_data[ $key ] ) && ( ! is_email( $submitted_data[ $key ] ) || email_exists( $submitted_data[ $key ] ) ) ) { UM()->form()->add_error( $key, __( 'The email you entered is incorrect', 'ultimate-member' ) ); } elseif ( 'secondary_user_email' === $key && ! empty( $submitted_data[ $key ] ) && ! empty( $submitted_data['user_email'] ) && $submitted_data[ $key ] === $submitted_data['user_email'] ) { UM()->form()->add_error( $key, __( 'The secondary email cannot be the same as primary', 'ultimate-member' ) );