With version 2.0 of FlexForm comes the Validated Forms options

Concept

When the FlexForm configuration setting renderonlyapprovedforms is set to true, then only Validated or approved Forms is turned on. This means that only people that are in a certain user group ( you can define the allowed user groups with the allowed allowedGroups ) can actually create a new FlexForm or edit an existing FlexForm. A user outside the allowedGroups could create a new page with a FlexForm in its contents, but that Form will never be rendered as it is considered invalid or unapproved. An i18n message will be shown (default: FORM CANNOT BE RENDERED, NOT VALIDATED) or if you have set the FlexForm setting renderi18nErrorInsteadofImageForApprovedForms to false (defaults to false) you will see the image of a Form with a forbidden sign on it.

Managing Forms

A single page with an invalid FlexForm

If a user that is not in the allowedGroups user group creates a new page with a FlexForm in its contents, the Form will never be rendered as it is considered invalid. Another user that is part of the allowedGroups user group can visit the page with the invalid Form and edit the source to verify the Form is valid. Once that user saves the page, the FlexForm will become valid.

Managing Validated Forms

FlexForm has a Special Page where you can see an overview of approved or validated FlexForm Forms. Go to the FlexForm Special Page and hover your mouse on the FlexForm logo on the left top. From the menu that pops-up choose Manage approved pages. This will give you a list of all validated/approved Forms and the page they are on. From that same list you can also remove the validations for forms on a page. This will not alter the content of that page or the Form itself, but will mark them as invalid.

Managing unvalidated Forms

On that same page there is another list called Managing unvalidated Forms. This will show all FlexForm forms you have in your wiki. You can quickly validate a page with a Form on it from that list. You can also choose to validate all unvalidated Forms or only Forms that use the new 2.0 <form> FlexForm tag.

Workarounds for cases where form validation does not work

There are some cases where form validation does not work. These cases can usually be solved by moving the form to a separate template and transcluding that. Examples are:

  • When using Chameleon components with system messages in the components, form validation won't work for forms defined directly in these system messages. Moving the form to a template and transcluding that in the system message works.
  • Using an arraymap or similar a function to parse multiple forms. Solve by moving the form to a template and transcluding that one in the arraymap.

Migrating from FlexForm version 1.x to 2.0

When you install FlexForm 2.0, by default all existing FlexForm Forms in your wiki will be invalid. To fix this, go to FlexForm's Special Page, hover over the logo on the left-top and choose Manage approved pages. On that page you will find a list/table of all your FlexForm forms in your wiki called Managing unvalidated Forms. At the bottom of that list there is an option called VALIDATE ALL. With that button you will instantly validate all FlexForm Forms in your wiki.