Submission Lifecycle Hooks

Elzo Forms exposes submission lifecycle filters and actions so developers can validate data, detect spam, react after saving, and change the response sent back to the browser.

Validate a submission

add_filter('elzo_forms_validate_submission', function ($valid, $form, $context) {
    if (!$valid) {
        return false;
    }
    return true;
}, 10, 3);

Detect spam

add_filter('elzo_forms_detect_spam', function ($spam, $form, $context) {
    return $spam;
}, 10, 3);

After a submission is saved

add_action('elzo_forms_after_submission_saved', function ($form, $submission, $submission_post_id) {
    // Run custom business logic.
}, 10, 3);

Customize AJAX response

add_filter('elzo_forms_submission_response', function ($response, $submission, $form) {
    $response['data']['custom_value'] = 'example';
    return $response;
}, 10, 3);