Skip to main content

Settings

Introduction​

Most of a form's behaviour can be set in more than one place: for the whole site, on each form, and on the tag for a single render. The rule is the same everywhere:

The most specific setting wins, and a blank setting means "inherit".

That's what lets a tag stay as short as {exp:formidable:form form_handle="contact_us"} while still sending visitors somewhere sensible, on your site's grid, with the success message you wrote once in Configuration.

The four layers​

LayerWhereApplies to
1. Tag parameterreturn="thanks" or form:setting:return="thanks" on {exp:formidable:form}This one render
2. The formThe form's own settingsEvery render of this form
3. The siteFormidable › ConfigurationEvery form on the site
4. The shipped defaultBuilt into FormidableWhen nothing else is set

Clearing a box in the control panel sends that setting back to the layer above it, rather than setting it to nothing. For these settings, a blank value has no useful meaning of its own: a blank return URL or a blank column count.

What inherits​

These are the form settings that follow the chain. The tag parameter has the same name as the setting, so return= and form:setting:return= mean the same thing.

SettingWhat it doesShipped default
returnWhere to send the visitor after a successful submissionThe page they submitted from
return_on_errorWhere to send them when validation failsThe page they submitted from
success_messageThe message shown after a successful submission"Thank you — your submission has been received."
members_only, members_only_messageOnly logged-in members may submit, and what guests see insteadOpen to everyone
themeThe theme forms render withDefault
email_themeThe theme workflow emails useEmail
template_columnsThe width of your site's grid. A field's width is scaled to it as {field_columns}12
show_instructionsInstructions above (t) or below (b) the inputAbove

Other form settings are set on the form, or on the tag with form:setting:NAME= for one render:

SettingWhat it does
enable_storageStore submissions at all. Off means workflows only: emails and connections still run, but nothing is kept.
store_submission_dataKeep the answers on the stored submission. Workflows always receive the answers either way.
submission_nameHow each stored submission is named in the listing.
enable_honeypot, enable_honeypot_jsThe two honeypots. See Spam protection and security.
disable_submit_on_processDisable the submit button while the form is sending, to stop double submissions.

Settings changed on the tag that affect what is stored (enable_storage, store_submission_data, submission_name) travel to the server inside the signed form meta, so a visitor cannot change them.

The Configuration screen​

Formidable › Configuration holds the site layer, in these groups:

GroupHolds
Formsreturn, return_on_error, success_message, members only and its message, and the email theme.
TemplatingThe site theme, the grid width, where instructions go, and site-wide classes and attributes for every part of a form. See Regions and attributes.
SpamThe honeypots, disabling the submit button while sending, the per-IP rate limit and the duplicate window.
APIWhether this site's own pages may use the JSON API without a key, and whether members may read their own submissions. See JSON API.
SubmissionsStorage defaults and how submissions are named.
StatusesThe statuses submissions can have.

config.php​

A few behaviours are set in system/user/config/config.php, with keys prefixed formidable_. These survive add-on updates. The spam tunables (formidable_rate_limit, formidable_rate_window, formidable_duplicate_window) can also be set in Configuration › Spam. When both are set, config.php wins.

system/user/config/config.php
$config['formidable_rate_limit'] = 20; // submissions per IP per window; 0 turns the limit off
$config['formidable_workflow_log_days'] = 90;

Every key is listed in Configuration.