Yo uso Gravity Forms. Necesito verificar si el valor dado en un email input campo coincide con la dirección de correo electrónico del usuario actual. Para eso estoy usando el siguiente código pero el problema es cuando el campo tiene CSS visibility propiedad establecida en hidden el código no valida el campo. Permitió al usuario cambiar el default value (dirección de correo electrónico del usuario actual) a una dirección de correo electrónico inexistente y envíe el formulario. Aparte de eso, el código y el formulario funcionan correctamente.
add_filter( 'gform_field_validation_13_24', 'check_current_email', 10, 4 );
function check_current_email( $result, $value, $form, $field ) {
if ( $field->type === 'email' ) {
$user = wp_get_current_user();
if ( empty( $value ) || ! email_exists( $value, $user->data->user_email, $user->ID ) ) {
$result['is_valid'] = false;
$result['message'] = 'Incorrect current user email. Please try again.';
}
}
return $result;
}
.