Dylan Wagstaff c0a30f1b6a
FIX unrequire fields when they become dataless (#1016)
* FIX unrequire fields when they become dataless

When fields that collect input data are changed in configuration via the
CMS to become fields that no longer collect input data (e.g. TextField
-> HTML Block), submitting the resulting form results in a fatal error,
server 500 response, etc. due to trying to check if a field without data
(ever) has data in it.

To circumvent this we can set the required state to false if the field
is being converted to one that does not collect data (which FormField
API conveniently provides a check for).

* Move parent::onBeforeWrite() to top of function

Co-authored-by: Steve Boyd <emteknetnz@gmail.com>
2021-01-17 15:55:47 +13:00
2020-10-22 10:22:19 +13:00
2015-10-29 12:02:11 +13:00
2019-11-12 07:32:26 +13:00
2019-11-12 07:32:26 +13:00
2015-11-19 19:10:45 +13:00
2019-11-12 07:32:26 +13:00
2020-06-18 14:30:24 +12:00
2020-10-22 10:22:19 +13:00
2015-09-11 11:01:15 +12:00
2020-07-30 12:38:37 +00:00

UserForms

UserForms enables CMS users to create dynamic forms via a drag and drop interface and without getting involved in any PHP code.

Build Status Scrutinizer Code Quality codecov SilverStripe supported module Version License

Requirements

See the "require" section of composer.json

Features

  • Construct a form using all major form fields (text, email, dropdown, radio, checkbox..)
  • Ability to extend userforms from other modules to provide extra fields.
  • Ability to email multiple people the form submission
  • View submitted submissions and export them to CSV
  • Define custom error messages and validation settings
  • Optionally display and hide fields using javascript based on users input
  • Displays a confirmation message when navigating away from a partially completed form.

Installation

composer require silverstripe/userforms

You'll also need to run dev/build. You should see a new page type in the CMS 'User Defined Form'. This has a new 'Form' tab which has your form builder.

Spam protection

This module does not include spam protection out of the box. Without it, it's likely that your submissions could contain a considerable amount of spam. For public facing forms it is encouraged you review and install the following module plus one of the recommended 'verification system' modules outlined in the README.

Read the SpamProtection Module README for details on how to configure this module.

Documentation

Thanks

I would like to thank everyone who has contributed to the module, bugfixers, testers, clients who use the module and everyone that submits new features.

A big thanks goes out to Jan Düsedau for drawing the custom icon set for the form fields.

Versioning

This library follows Semver. According to Semver, you will be able to upgrade to any minor or patch version of this library without any breaking changes to the public API. Semver also requires that we clearly define the public API for this library.

All methods, with public visibility, are part of the public API. All other methods are not part of the public API. Where possible, we'll try to keep protected methods backwards-compatible in minor/patch versions, but if you're overriding methods then please test your work before upgrading.

Reporting Issues

Please create an issue for any bugs you've found, or features you're missing.

Description
UserForms module provides a visual form builder for the SilverStripe CMS. No coding required to build forms such as contact pages.
Readme 15 MiB
Languages
PHP 70.9%
JavaScript 25%
Gherkin 1.8%
Scheme 1.4%
SCSS 0.9%