Skip to content

Christmas Holiday Special Discount

Flat 30% OFF!
Formidable Forms alternatives
  • Pricing
  • Features
  • Demos
  • Integrations
  • Blog
  • Docs
  • Contact
  • Account

Christmas Holiday Special Discount

Flat 30% OFF!
Formidable Forms alternatives
Popular Search entrysubmitpaymentsubmissionentries

Developer Docs

  • Database Tables of Fluent Forms
  • Submission Lifecycle
  • Integration Feed – Fields API
  • Creating Custom SmartCode for Form Editor
  • Limit Email Domains in Fluent Forms Form Submission
  • Email verification with Emailable
  • Email Confirmation Field
  • How to make a login form with Fluent Form
  • How to make a strong password requirement in user registration forms with Fluent Forms
  • Create Unique Fields in Fluent Forms
  • Populate dropdown field options from Google Sheet
  • Form PHP API
  • PHP Action Hooks
  • PHP Filter Hooks
  • Useful Snippets
  • Creating Pretty Conversational Form URL Slug
  • How to create your own custom field with Fluent Forms

Action Hooks

  • fluentform_before_insert_submission
  • fluentform_submission_inserted
  • fluentform_before_submission_confirmation
  • fluentform_inserted_new_form
  • fluentform_before_form_render
  • fluentform_loaded
  • fluentform_before_form_actions_processing
  • fluentform_before_insert_payment_form
  • flentform_form_duplicated
  • fluentform_form_imported
  • fluentform_after_save_form_settings
  • fluent_editor_init
  • fluentform_loading_editor_assets
  • fluentform_before_editor_start
  • fluentform_after_editor_start
  • fluentform_after_form_screen_wrapper
  • fluentform_before_form_screen_wrapper
  • fluentform_render_item_{$item}
  • fluentform_after_form_render
  • fluentform_form_element_start
  • fluentform_render_item_step_start
  • fluentform_render_item_step_end
  • ff_rendering_calculation_form
  • fluentform_maybe_scheduled_jobs
  • fluentform_do_email_report_scheduled_tasks
  • before_fluentform_permission_set_assignment
  • after_fluentform_permission_set_assignment
  • fluentform_global_menu
  • fluentform_after_form_navigation
  • ff_fluentform_form_application_view_{$route}
  • fluentform_init_custom_stylesheet
  • fluentform_load_form_assets
  • fluentform_scripts_registered
  • flunetform_render_payment_entries
  • fluentform_pre_load_scripts
  • fluentform_new_response_note_added
  • fluentform_starting_file_upload
  • fluentform_global_notify_completed
  • fluentform_save_global_integration_settings_{ $settingsKey}
  • ff_integration_action_result
  • fluentform_email_summary_details
  • fluentform_email_template_after_footer
  • fluentform_addons_page_render_{$current_menu_item}
  • fluentform_before_form_settings_app
  • fluentform_after_form_settings_app
  • fluentform_form_settings_container_{$current_sub_route}
  • fluentform_before_global_settings_wrapper
  • fluentform_after_global_settings_wrapper
  • fluentform_global_settings_component_{$currentComponent}
  • fluentform_after_global_settings_option_render
  • fluentform_before_global_settings_option_render
  • fluentform_before_export_import_wrapper
  • fluentform_after_export_import_wrapper
  • fluentform_before_export_import_container
  • fluentform_after_before_export_import_container
  • fluentform_form_styler
  • fluentform_after_style_generated
  • fluentform_conversational_frame_head
  • fluentform_conversational_frame_footer
  • fluentform_user_registration_before_start
  • fluentform_created_user
  • fluentform_user_registration_completed
  • fluentform_post_integration_success
  • fluentformpro_entry_confirmation
  • fluentform_before_partial_entry_deleted
  • fluentform_after_partial_entry_deleted
  • flunetform_render_payment_entries
  • fluentform_before_all_entries_render
  • fluentform_after_all_entries_render
  • fluentform_before_entry_deleted
  • fluentform_after_entry_deleted
  • fluentform_payment_receipt_before_content
  • fluentform_payment_receipt_after_content
  • fluent_payment_frameless_{$paymentMethod}
  • fluentform_rending_payment_method_
  • fluentform_payment_method_render_{$methodName}
  • fluentform_before_payment_status_change
  • fluentform_after_payment_status_change
  • fluentform_payment_refunded_{$method}
  • fluentform_payment_refunded
  • fluentform_payment_refund_updated_{$method}
  • fluentform_payment_refund_updated
  • fluentform_paypal_ipn_verification_failed
  • fluentform_ipn_endpint_
  • fluentform_ipn_paypal_action_
  • fluentform_ipn_paypal_action_web_accept

Filter Hooks

  • fluentform_insert_response_data
  • fluentform_filter_insert_data
  • fluentform_submission_confirmation
  • fluentform_validate_input_item_{input_key}
  • fluentform_entry_statuses_core
  • fluentform_rendering_field_data_{INPUT_KEY}
  • fluentform_email_body
  • fluentform_rendering_field_data_select
  • fluentform_filter_email_attachments
  • fluentform_rendering_form
  • fluentform_is_form_renderable
  • fluentform_is_handling_submission
  • fluentform_validation_errors
  • fluentform_honeypot_name
  • fluentform_before_render_item
  • fluentform_rendering_field_html_{$elementName}
  • fluentform_skip_no_conflict
  • fluentform_load_styles
  • fluentform_load_default_public
  • fluentform_is_hide_submit_btn_{ $formId}
  • fluentform_form_class
  • fluent_form_html_attributes
  • fluentform_editor_shortcodes
  • fluentform_shortcode_parser_callback_{smart_code_name}
  • fluentform_all_editor_shortcodes
  • fluentform_smartcode_group_{$group}
  • fluentform_payment_smartcode
  • fluentform_entry_statuses_core
  • fluentform_nonce_verify
  • fluentform_nonce_error
  • fluentform_numeric_styles
  • fluentform_akismet_fields
  • ff_will_return_html
  • fluentform_honeypot_status
  • fluentform_dashboard_notices
  • fluentform_is_admin_page
  • fluentform_single_response_data
  • fluentform/available_date_formats
  • fluentform_permission_set
  • fluentform_api_all_logs
  • fluentform_api_success_log
  • fluentform_api_failed_log
  • fluentform_truncate_password_values
  • fluentform_verify_user_permission_{ $eachPermission}
  • fluentform_permission_callback
  • fluentform_nonce_error
  • fluentform_editor_init_element_{$element}
  • fluent_editor_validation_rule_settings
  • fluent_editor_element_settings_placement
  • fluent_editor_components
  • fluent_editor_countries
  • fluent_editor_element_customization_settings
  • fluentform_addons_extra_menu
  • fluentform_global_addons
  • fluentform_global_integration_settings_{$settingsKey}
  • fluentform_global_integration_fields_{$settingsKey}
  • fluentform_global_notification_active_types
  • fluentform_notifying_async_{$integrationKey}
  • fluentform_mailchimp_keep_existing_interests
  • fluentform_mailchimp_keep_existing_tags
  • fluentform_global_notification_feed_{$feed->meta_key}
  • fluentform_integration_data_{$integrationKey}
  • fluentform_shortcode_defaults
  • fluentform_info_shortcode_defaults
  • fluentform_get_raw_responses
  • fluentform_export_data
  • fluentform_shortcode_feed_text
  • fluentform_entry_lists_labels
  • fluentform_all_entries
  • fluentform_step_string
  • fluentform_global_form_vars
  • fluentform_all_entry_labels
  • fluentform_all_entry_labels_with_payment
  • fluentforms_recaptcha_v3_ref_score
  • fluentform_auto_read
  • fluentform_create_default_settings
  • fluentform_form_fields_update
  • fluentform_single_entry_widgets
  • fluentform-disabled_analytics
  • fluentform_entry_notes
  • fluentform_add_response_note
  • fluentform_disable_attachment_delete
  • fluentform_response_render_{element}
  • fluentform_settings_module_{$module}
  • fluentform_rendering_field_html_
  • fluentform_validation_message_{$ruleName}
  • fluentform_item_rules_{$item}
  • fluentform_send_plain_html_email
  • fluentform_submission_message_parse
  • fluentform_email_subject
  • fluentform_email_body
  • fluentform_email_to
  • fluentform_email_header
  • fluentform_email_footer
  • fluentform_email_styles
  • fluentform_email_template_footer_text
  • fluentform_email_attachments
  • fluentform_email_summary_body_text
  • fluentform_email_summary_footer_text
  • fluentform_email_content_type_header
  • fluentform_email_template_header_image
  • fluentform_email_template_email_heading
  • fluentform_email_template_colors
  • fluentform_nonce_verify
  • fluentform_popup_shortcode_defaults
  • fluentform_survey_shortcode_defaults
  • fluentform_itl_options
  • fluentform_ip_provider
  • fluentform_post_type_selection_types_args
  • fluentform_post_selection_types
  • fluentform_post_selection_posts_pre_data
  • fluentform_post_selection_label_by
  • fluentform_user_registration_field_defaults
  • fluentform_icontact_request_args
  • fluentform_user_registration_feed_fields
  • fluentorm_UserRegistration_creatable_roles
  • fluentform_payment_settings_{$method}
  • payment_method_settings_validation_{$method}
  • fluentform_with_payment_submission_data
  • fluentform_submission_order_items
  • fluentform_payment_field_{$elementName}
  • fluentform_stripe_checkout_args
  • fluentform_uploader_args
  • fluent_file_uploaded
  • fluentform_file_upload_params
  • fluentform_uploaded_file_name
  • fluentform_file_upload_validations
  • fluentform_file_upload_validation_error
  • fluentform_disable_inputmode
  • fluentform_file_type_options
  • fluentform_default_upload_path 

Reference API Classes

  • BaseFieldManager Class
  • IntegrationManager Class
  • PDF TemplateManager Class
  • BasePaymentMethod Class
  • BaseProcessor Class

Data Definations

  • $submission_data Array
  • $form Object
  • Home
  • Docs
  • Developer Docs
  • Limit Email Domains in Fluent Forms Form Submission

Limit Email Domains in Fluent Forms Form Submission

If you want to stop some specific email domains from a form submission, you can do this using the email filter hook fluentform_validate_input_item_input_email. Just add the accepted email domain, other email domain will be rejected.

Here is an example , this will be applied to form ID of 12.


add_filter('fluentform_validate_input_item_input_email', function ($error, $field, $formData, $fields, $form) {
    
     /*
     * add your accepted domains here
     * Other domains will be failed to submit the form
     */
    
    $targetFormId = 12;
    $acceptedDomains = ['gmail.com', 'hotmail.com', 'test.com'];
    $errorMessage = 'The provided email domain is not accepted';

    if ($form->id != $targetFormId) {
        return $error;
    }

    $fieldName = $field['name'];
    if (empty($formData[$fieldName])) {
        return $error;
    }

    $valueArray = explode('@', $formData[$fieldName]);
    $inputDomain = array_pop($valueArray);

    if (!in_array($inputDomain, $acceptedDomains)) {
        return [$errorMessage];
    }
    return $error;

}, 10, 5);

For details of the hook fluentform_validate_input_item_input_email check this documentation link.

Email Filter
What are your Feelings
Share This Article :
  • Facebook
  • Twitter
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Updated on August 24, 2020
Creating Custom SmartCode for Form EditorEmail verification with Emailable

Powered by BetterDocs

Fluent Forms

Addons

  • Signature (Paid)
  • PDF Generator
  • Mautic
  • Mailpoet

Get Help

  • Documentation
  • API Docs
  • Support
  • Brand Guideline

Resource

  • Fluent Forms Free vs. Pro
  • Fluent Forms vs. WPForms
  • Fluent Forms vs. Gravity Forms
  • Fluent Forms vs. Ninja Forms
  • Fluent Forms vs. Forminator

Our Brands

  • Ninja Tables
  • FluentCRM
  • Fluent Support
  • FluentSMTP
  • WP Social Ninja
  • Paymattic
  • AzonPress

Email Newsletter

fluentform Newsletter Inline
We won't send you spam. Unsubscribe at any time.
Ninja-Tables-BFCM-Popup-Banner
×
Facebook Facebook Group Twitter Instagram YouTube WordPress

Copyright © 2023 Fluent Forms. A Brand of  WPManageNinja™ | Affiliate | Terms & Privacy

Scroll to top
  • Pricing
  • Features
  • Demos
  • Integrations
  • Blog
  • Docs
  • Contact
  • Account