Last Updated 3/6/2018
Forms can be simple and straightforward, but they can also be complicated, difficult to manage, and even tougher to develop custom solutions for.
There is a significant amount of functionality baked into forms without requiring a single line of code. That includes form validation, grouping fields together, showing/hiding fields (and groups of fields) based on values entered into other fields, spam prevention (via Google reCAPTCHA), and more.
For what they are, forms in Marketpath CMS work well. However, there are a couple limitations of forms - some of which we are currently working on - that are good to be aware of as a developer:
- The default form output is not ADA compliant (meaning it is not strictly speaking "accessible")
- There is currently no solution to encrypt form submission values - so you should not ask for information such as credit card or social security numbers in a Marketpath form
- You cannot customize form submission emails or send them to the person who submitted the form
- You cannot change the recipient(s) of the form submission email based off of values in the submitted form
- You can create a form without a redirect URL, but doing so falsely makes it appear as though submitting the form does nothing
- It is difficult to show an in-place "thank-you" message on form submission
- Users cannot "save" a form to return to later
- There is currently no built-in post-processing of form submissions - making it difficult to send form submission information to third-party APIs such as mailing lists or to perform other complex or conditional functionality after a form is submitted.
Given all of these limitations, our recommendation is to use Marketpath forms for common simple functionality. If you need more advanced functionality that we do not support out-of-the-box or that you have to "work around" consider utilizing a third-party form solution such as Formstack, Typeform, or SurveyMonkey.
As some added advice, try to avoid custom form templates. While we do our best to make sure that no live functionality is affected when we release new functionality, it may become difficult to guarantee that nothing breaks when forms are updated to address the above issues if you have custom form templates.
Let's work together to make our documentation as helpful as possible.