Form processor for MODX

Creator: Sterc Agency (sterc)

2.2.11-pl (193 KB) Other Versions Need help installing this extra?


About FormIt

Formit is an extra to create advanced web forms. Key features:

  • Automatic validation and custom validator options
  • Auto reply to visitor + email to owner(s)
  • Multiple attachments
  • Submitted forms can be automatically saved and encrypted in the Formit component
  • Submitted forms can be exported to CSV, based on filters
  • Redirect to thank-you pages for optimal tracking in your analytics software (e.g. Google Analytics funnels)
  • Add your own hooks as Snippets to handle forms dynamically
  • Spam protection
  • Dynamic country/state dropdown lists

Official documentation here:


September 25, 2016
Supported Versions
2.2 – Current
Supported Database
MySQL, Microsoft SQL Server

New in FormIt 2.2.11

New in 2.2.11

  • Added storeLocation property to FormIt and FormItRetriever. (issue #95, PR #105#106#107)
  • Changed default behaviour of emailReplyTo parameter to fallback to email field in form (issue #101)
  • Changed math hook to store values in session, preventing easy bypass of math hook (issue #64)
  • Add GPM config
  • Fix bug with multiple file upload (PR #104)
  • Add 'hash' field to FormItSaveForm to allow updating of previously saved forms (PR #94)
  • Add FormItLoadSavedForm snippet to retrieve saved forms (PR #94)
  • Fix for export with datefilter (issue #96, PR #97)
  • Add fiarRequired property (PR#83)
  • Update resolver to check for current version to prevent errors on upgrade
  • Add system setting for formencryptkey, to not rely on siteid (issue #68)
  • Fix saved forms export when using encrypted forms (issue #48)

New in 2.2.10

  • Merged PR#58: Added BOM for Excel to understand UTF-8 non-latin symbols properly. (thanks to govza)
  • Merged PR#73: JSON output options for errors and hooks (thans to sepiariver)
  • Merged PR#79: Create German lexicon for FormIt-CMP (thanks to sebastian-marinescu)
  • New in 2.2.9

  • Merging PR#74 from Jako which solves multiple issues.
  • Fix XSS vulnerabilities
  • Javascript code cleanup
  • Fix empty math operator after form submission #d782c29
  • New in 2.2.8

    • Fixed export limit and added form dropdown paging #60
    • Fixed typo property lexicons #57
    • Added templates path to config #63
    • Added loading lexicons in ficountryoptions class #21
    • Added ability to dynamically set formName by setting placeholder inside formName equal to an existing form field key #45

    New in 2.2.7

      • Optimised export

      New in 2.2.6

        • Fixed empty placeholder for file field in autoresponder

        New in 2.2.5

          • Fixed creating table on update
          • Added new tab inside CMP for managing encryption
          • Added missing br on auto emailTpl

          New in 2.2.4

            • Fixed bug inside FormItSaveForm and PR #43

            New in 2.2.3

            • Added encryption to saved forms
            • Added formname to grid
            • Saved form is now returned from the hook
            • Export unlimited items
            • Add RU translation
            • Fixed some bugs

            New in 2.2.2

              • Added CMP for the saved forms
              • Fixed whitespace PR on required checkboxes

              New in 2.2.1

                • Updated numbers generation for math captcha #5
                • German translation #10
                • Added missing formit.notregexp lexicon #15
                • Specify explicitely return-path fixes #19 #20
                • fix addAttachment() typo #23
                • Fixed typo in adding of the attachments #24
                • Add the possibility of redirectTo=formfield #26
                • Added attachments for auto-reply and Added ability to use @CODE as tpl #29
                • Update snippet.formitisselected.php #12
                • Canadian options for FormitStateOptions

                New in 2.2.0

                • [#8382] Prevent issue with checkboxes/radios causing text-parsing problems with required validator
                • Fixed issue with custom error message for vTextPasswordConfirm not respected
                • [#9457] Fixed issue with commas in values causing errors with FormItIsChecked & FormItIsSelected
                • [#9576] Add ability to translate country options
                • Add check for preHook errors before processing postHooks
                • Add option, defaulting true, to trim spaces from sides of values before validation
                • [#8785] Fix ESTRICT error in fiDictionary

                New in 2.1.2

                • Various language updates
                • [#7250] Fix issue with 0 not passing :required filter

                New in 2.1.1

                • [#8204] Fix issue with FormItAutoResponder and processing of MODX tags

                New in 2.1.0

                • [#7620] Allow for MODX tags in email templates, as well as pass-through of snippet properties to tpl
                • [#7502] Add ability to find type of hook by using $hook->type
                • [#8151] More sanity checking for FormItAutoResponder and replyTo addresses
                • Fix useIsoCode issue in FormItCountryOptions
                • Update German translation
                • Enhance validation templating for validationErrorBulkTpl
                • Add &country option to FormItStateOptions to allow loading of non-US states (currently us/de)

                New in 2.0.3

                • Update Czech translation
                • Fix issue with French accents in translation
                • [#6021] Refactor Russian reCaptcha translations
                • [#6618] Standardize XHTML in reCaptcha usage

                New in 2.0.2

                • [#4864] Fix issue with isNumber not allowing blank fields
                • [#5404] Fix issues with checkboxes and array fields in FormItAutoResponder
                • [#5269] Fix issues with checkboxes in various forms in emails
                • [#5792] Update reCaptcha URLs

                New in 2.0.1

                • [#5525] Add &allowFiles property, that when set to 0, prevents file submissions on form
                • [#5484] Fix issue with double validation error spans
                • Fix issue where config was not passed to hooks
                • Update German translation

                New in 2.0.0

                • [#3514] Add ability to customize validator error messages per FormIt form and per field
                • [#4705] Add regexp validator
                • [#5454] Fix issue with customValidators property in 2.0.0-rc2
                • Fix issue with reCaptcha loading in 2.0.0-rc1
                • Major reworking of main FormIt script to be OOP
                • Add over 150 unit tests to prevent regression
                • [#5388], [#5240] Fix issue with FormItCountryOptions and &useIsoCode
                • Fix issue with FormItStateOptions and &useAbbr
                • [#5267] Fix issue with FormItRetriever and array fields

                New in 1.7.0

                • Add ability to have "Frequent Visitors" optgroup in FormItCountryOptions, moving specified countries to the top of the list in an optgroup
                • Add missing property translations for FormItStateOptions snippet
                • Fix small issue with stored values after validation of fields
                • Add FormItStateOptions snippet for easy U.S. state dropdowns
                • Add FormItCountryOptions snippet for easy country dropdowns
                • [#5101] Fix issue with emailMultiSeparator and emailMultiWrapper default values
                • Fix issue with bracketed field names being added as extra fields post-validation with . prefix

                New in 1.6.0

                • [#4708] Add support for bracketed fields, such as contact[name]
                • [#5038] Fix uninitialized variable warnings in reCaptcha service
                • [#4993] Add Italian translation and fix recaptcha links
                • Fix issue where fields could be removed via DOM from form and be bypassed
                • Add &emailMultiSeparator and &emailMultiWrapper properties for handling display of checkboxes/multi-selects in email hook

                New in 1.5.6

                • [#4564] Fix redirectTo with non-web contexts

                New in 1.5.5

                • [#4168] Add emailConvertNewlines property for handling newlines in HTML emails
                • [#4057] Prevent math hook from generating similar numbers
                • [#4302] Cleanups to FormItAutoResponder snippet
                • [#3991] Fix issue with checkbox values in emails

                New in 1.5.4

                • Fix issue with math hook where error placeholders were incorrect
                • Fix issue where emailHtml property was not respected in email hook
                • Fix issue where hooks were not passed customProperties array
                • [#51] Allow blank fields to be passed with :email validator
                • [#55] Allow all fields to be accessed in custom validators

                New in 1.5.3

                • [#40] Add ability to display all error messages in bulk at top, added validationErrorBulkTpl for templating each one
                • [#52] Add a general validation error message property, validationErrorMessage, that shows when validation fails
                • [#53] Fix bug that prevented recaptcha options from working
                • Add a generic validation error placeholder in FormIt to allow for general messages
                • [#50] Trim each hook specification in hooks calls
                • [#49] Ensure reCaptcha service instance is unique for each FormIt instance
                • [#47] Ensure email validator checks for empty string
                • [#42] Can now include field names in error strings via field placeholder
                • [#39] Fix issue with FormItIsChecked/Selected to prevent output from occurring if not checked
                • [#37] Fix allowTags validator to work, and work with parameters encapsulated by ^


                Current Releases

                January 23, 2021
                2.2 – Current
                January 10, 2020
                2.2 – Current
                January 10, 2020
                2.2 – Current
                April 18, 2019
                2.2 – Current
                April 12, 2019
                2.2 – Current
                February 18, 2019
                2.2 – Current
                View Deprecated Releases

                More from Sterc Agency



                Batcher is a batch-editing Extra for MODX Revolution. It allows you…



                Digital Signage is a MODX Extra by Sterc.


                Call to Action TV

                Added missing Dutch lexicon


                Mailchimp for FormIt

                Package for subscribing users in Mailchimp lists using FormIt.