### [wpforms_process_validate_email](https://wpforms.com/developers/wpforms_process_validate_email/)

**Published:** October 17, 2023
**Author:** Editorial Team

**Excerpt:** The wpforms_process_validate_email action fires validation on the Email Address form field when the form is submitted. 

**Content:**

## Description

The `wpforms_process_validate_email` action fires validation on the **Email Address** form field when the form is submitted.

## Parameters

$field\_id*(int)* Field ID.$field\_submit*(array)* Original raw/unsanitized field value submitted for the field.$form\_data*(array)* Processed form settings/data, prepared to be used later.## Source

`wpforms/includes/class-process.php`

## More Information

The `wpforms_process_validate_email` action is applied to an array for **Email Address** form field. This function can be used for all form fields `do_action( wpforms_process_validate_{$field_type}, $field_id, $field_submit, $form_data )`.

For example, to use this for an **Single Line Text** field, you would use `do_action( wpforms_process_validate_text, $field_id, $field_submit, $form_data )`.

It’s important to note that field values are not sanitized until later on in the processing, at `wpforms_process_format_{$field_type}`.

## Examples

You can use this action to scan the **Email Address** for a specific email address we’ve previously flagged as spam so that it can be blocked.

```

/*
 * Check the email address field for blocked emails.
 *
 * @link https://wpforms.com/developers/wpforms_process_validate_email/
 *
 * @param int     $field_id        Field ID.
 * @param array   $field_submit    Unsanitized field value submitted for the field.
 * @param array   $form_data       Form data and settings.
*/

function wpf_dev_block_email_address( $field_id, $field_submit, $form_data ) {

    //Create your list of blocked email addresses separated by commas
    $blocked_emails = array( 
        'nope@nope.com', 
        'spam@spammers.com'
    );
 
    foreach( $blocked_emails as $email ) {
        if(strpos($field_submit, $email) !== FALSE ) {
            wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'Your email address has been flagged as spam. Please contact the site administrator directly if you have further questions.', 'wpforms' );
            return;
        }
    }
}
 
add_action( 'wpforms_process_validate_email', 'wpf_dev_block_email_address', 10, 3 );
```

## Related

Article Reference: [How to Create a Global Denylist](https://wpforms.com/developers/how-to-create-a-global-denylist/ "How to Create a Global Denylist")

**Categories:** Actions Hooks

**Tags:** PHP

---

