Learn how to selectively disable form validations in Fluent Forms for specific forms or all forms across your WordPress site. This is particularly useful when you need to create draft submissions, allow partial form completions, or implement custom validation rules.
Here’s a clean, reusable solution that can be added to your theme’s functions.php or a custom plugin:
/** * Remove validation rules from Fluent Forms fields * * @param object $form The form object being rendered * @param bool $enabled Whether validation removal is enabled * @param array $allowed_form_ids Optional array of form IDs to apply removal to * @return object Modified form object */ function remove_fluent_form_validations($form, $enabled = true, $allowed_form_ids = []) { if (!$enabled) { return $form; } // Apply to specific forms or all forms if array is empty if (empty($allowed_form_ids) || in_array($form->id, $allowed_form_ids)) { if (isset($form->fields['fields']) && is_array($form->fields['fields'])) { foreach ($form->fields['fields'] as &$field) { clear_validation_rules($field); process_nested_fields($field); process_columns($field); } } } return $form; } /** * Clear validation rules from a field * * @param array &$field Field array to modify */ function clear_validation_rules(&$field) { if (isset($field['settings']['validation_rules'])) { $field['settings']['validation_rules'] = []; } } /** * Process nested fields within a field group * * @param array &$field Field array containing nested fields */ function process_nested_fields(&$field) { if (isset($field['fields']) && is_array($field['fields'])) { foreach ($field['fields'] as &$nested_field) { clear_validation_rules($nested_field); } } } /** * Process fields within columns * * @param array &$field Field array containing columns */ function process_columns(&$field) { if (isset($field['columns']) && is_array($field['columns'])) { foreach ($field['columns'] as &$column) { if (isset($column['fields']) && is_array($column['fields'])) { foreach ($column['fields'] as &$column_field) { clear_validation_rules($column_field); } } } } } // Hook into form rendering add_filter('fluentform/rendering_form', 'remove_fluent_form_validations', 10, 3);
Copy
How It Works
The code systematically removes validation rules from all field types in a Fluent Form:
- The main function accepts parameters to:
- Enable/disable the functionality
- Target specific form IDs
- It processes standard fields, nested fields (like repeaters), and column-based layouts
- All validation rules are cleared while preserving the field structure
Usage Examples
Remove validations from all forms:
add_filter('fluentform/rendering_form', 'remove_fluent_form_validations', 10, 1);
Copy
Remove validations from specific forms:
add_filter('fluentform/rendering_form', function($form) { return remove_fluent_form_validations($form, true, [1, 2, 3]); }, 10, 1);
Copy
Want an Easy Solution?
Download Fluent Forms Debugger
for a point-and-click interface to manage form validations without coding.
Features:
- Admin settings page
- Form-specific controls
- No code needed