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);