This plugin allows you to build custom front-end forms with ease. With this plugin you can create not only contact form, but any form.
Features
- Build and manage your forms in OctoberCMS backend
- Use custom HTML markup for fields
- Create custom fields
- Reorder fields
- Example form with all default form controls
- Files uploader
- Basic responsive mail template and layout
- Google reCaptcha support
- RainLab Translate Plugin support
- RainLab Location Plugin support
- Event for extending default functionality
Usage
After installation plugin will register backend Form Builder menu position. From there you will be able to manage your forms.
There will be two sub-menus, Forms and Field types. Forms will list all created forms. Field types will list all available field types.
Plugin after installation will create example form with all supported field types.
Plugin will register renderForm component to use it on your page. After adding this component to page, you must inspect it (by clicking on it) and choose the form.
You can also specify the redirect page which will be showed to user after successful call.
Plugin uses Ajax Framework to process form. Remember to add in layout following code:
{% framework extras %} {% scripts %}
Custom HTML markup for fields
You can change HTML markup for each field by going to Form Builder > Field types and updating the field type.
Custom field types
You can create custom field types by going to Form Builder > Field types and create New field types button.
For example if you want to create Email field type just copy the markup from Text field type and change the type of the input from text to email.
Now after saving this field it will be possible to use it in your form.
In markup section you can use Twig and following variables:
Property | Type | Description |
---|---|---|
label | String | Label for the field. |
name | String | HTML name attribute. Also used in mail template. |
default | String | Default value for the field. |
class | String | HTML class. |
wrapper_class | String | HTML wrapper class. |
placeholder | String | Placeholder for the field. |
options | Array | Options for dropdown, radio list, checkbox list. |
custom_attributes | String | Custom HTML attributes. For example id="my-field". |
Available field types
Text
Renders a single line text box.
Textarea
Renders a multiline text box.
Dropdown
Renders a dropdown with specified options.
Checkbox
Renders a single checkbox.
Checkbox List
Renders a list of checkboxes.
Radio List
Renders a list of radio options, where only one item can be selected at a time.
reCaptcha
Renders google reCaptcha box for SPAM protection.
Please visit reCaptcha site to obtain credentials.
Next go to Settings > Form Builder > Google reCaptcha and fill your site key and secret.
Important note: This field must have g-recaptcha-response as field name and required|recaptcha in validation section to work properly.
File uploader
Renders a file uploader for regular files.
Files Validation
You can validate file types. Just specify file extensions like so: mimes:jpg,jpeg,png.
To validate max file size, use this syntax: max:1024. Max size value is in kilobytes.
To combine both validation rules use pipe (|). E.g. mimes:jpg,jpeg,png|max:1024.
For default, file uploader will allow to upload all file types which size not exceed 5mb size.
Uploaded files will be visible in sent email as mail attachments. You can also view them in Form Logs.
Country select
Renders a dropdown with country options.
Use country as field name. This will allow to populate state options after country is selected.
Important note: To use this and state select fields you must install RainLab.Location plugin.
State select
Renders a dropdown with state options. This field depends on country select.
Section
Renders a section with assigned fields. Useful to group multiple fields together. Fields has Section dropdown which is used to assign section to them.
File uploader field type is not currently supported in sections.
Submit
Renders form submit button.
Mail templates
Plugin uses mail templates created in CMS. To create new template, please go to Settings > Mail > Mail Templates.
Plugin will include basic responsive mail template, but you should customize it for your project.
Issues with OctoberCMS/Laravel Mail Templates
To avoid conflicts and errors please read following guideline for mail templates:
- Do not use message or content as the name for the field.
- Use _ instead of - in field names.
- Remember to always return to WYSWIG mode before saving Mail Template/Layout.
- When you use variables in Mail Template remove space before closing. Use {{ var}} instead of {{ var }}. Sometimes this whitespace may cause an error.
Reorder fields
Reorder Fields button will be visible in Fields tab, but only after you save the form. Remember to always save the form before reorder fields.
Mail logging
Since version 1.0.4 Form Builder plugin have built in simple logging information about sent form. Form log record will contain filled form data by user and corresponding file attachments.
I recommend you to install Mail stats & logger if you require extended functionality.
Events
Plugin will fire formBuilder.beforeSendMessage event before sending email. You can use this to extend Form Builder default functionality.
In your extension plugin boot method listen for this event:
Event::listen('formBuilder.beforeSendMessage', function ($form, $data, $files) { });
You will have access to form object, array with posted data and files collection (if form is with upload field).
If you return true from this event than this will stop default behavior of sending email message.
-
Remko Posthuma
Found the plugin useful on 13 Jan, 2021
Just starting my first project with this plugin but I like it so far
-
Jacek Bartoszek
Found the plugin useful on 12 Jan, 2021
Great plugin! Thank you for your help. Is any chance to add option for duplicate created already form??
Best
-
Morten Saanum Bessesen
Found the plugin not useful on 14 Sep, 2020
There is an error when installing.
-
Renatio author
Replied on 16 Sep, 2020
Dear customer,
please use Support feature to report any issues with plugin. I will be happy to assist you with any problems.
Reviews should not be used for getting support.
There was an issue with latest October version, that triggered the error on plugin installation. It should be fixed in version 1.5.0.
-
Auris
Found the plugin not useful on 11 Aug, 2020
Absolutely not Working, the Error while installing can only be fixed with a plugin:refresh. This Might work for out development environnement, but how would you ever get this to work in Production? Absolutely ridiculous.
-
Renatio author
Replied on 16 Sep, 2020
Dear customer,
please use Support feature to report any issues with plugin. I will be happy to assist you with any problems.
Reviews should not be used for getting support.
There was an issue with latest October version, that triggered the error on plugin installation. It should be fixed in version 1.5.0.
-
Alex Slaik
Found the plugin useful on 15 May, 2020
No updates for 2 years? Why? We need to add 3 and more recipients in forms. Maybe you can add repeater field in recipients?
-
Glide Agency
Found the plugin not useful on 21 Jun, 2019
Custom support is non-existent, very disappointed.
-
Shohabbos
Found the plugin useful on 23 May, 2019
За 5 баксов плагин норм
-
Ronny Skog
Found the plugin useful on 30 Mar, 2019
Great plugin and easy to use. I'm missing a simple way to store form data in a database though. It can be done width events but requires coding.
-
luis mezarine
Found the plugin not useful on 13 Dec, 2018
This pluging resets the page every time the persons hits SUBMIT. I do not recommend it
-
Renatio author
Replied on 14 Dec, 2018
Dear customer,
please use Support feature to report any issues with plugin. I will be happy to assist you with any problems.
Reviews should not be used for getting support.
If the form is successfully sent, than it is perfectly normal to redirect with success message. This is how most of the forms in the web works.
-
Allan Neuendorf
Found the plugin useful on 1 Sep, 2018
Brilliant and impressive plugin!
Intuitive to setup and easy to customise (once you discover the html code in Field Types).
One question - would it be possible to make calculating fields as a field type?
-
Lutte Patrick
Found the plugin not useful on 22 Apr, 2018
after installation I have this error
No hint path defined for [martin.forms]. C:\laragon\www\btp\vendor\laravel\framework\src\Illuminate\View\FileViewFinder.php line 112
What is the problem ?
-
Renatio author
Replied on 24 Apr, 2018
In the future please use support forum to report any problems with the plugin.
-
Richard Clark
Found the plugin useful on 13 Mar, 2018
Great work question? can you do model binding to a form
-
Ran Michael
Found the plugin useful on 5 Feb, 2018
This is a great plug-in, works out of the box. I had some issues with bilingual forms (which originated from the Translate plug-in), which were fixed. Come to think of it, Renatio added a fix although the issue wasn't on this plug-in !
Another great surprise was a snippet which enables you (your clients) to insert any form created with this plug in into a Static Page with ease.
- Lacking feature: Duplicate form.
All in all - great work ! Well worth it ! Thanks a lot Renatio !
-
Madars Pujats
Found the plugin useful on 14 Jan, 2018
Can i add flags to country select?
-
Dinesh
Found the plugin useful on 11 Aug, 2017
Everything is fine but you can not add country and state. If you could provide any documentation for the same will be best.
-
Web Master
Found the plugin not useful on 29 Jul, 2017
please, update formbuilder it's have some problem
-
Renatio author
Replied on 30 Jul, 2017
Thank you for the very USEFUL review!
I will just read your mind what the problem is, ok?
In the future please use support forum to report any problems with the plugin.
Cheers!
-
Paddy Sherry
Found the plugin useful on 1 Jul, 2017
I lost a full day trying to build a form with the Ajax framework that validates and accepts file uploads.
Then I found this plugin, copied the default form and the task was complete in 15 minutes.
Excellent extension!
-
Kai
Found the plugin useful on 9 Jun, 2017
Dearest Author of the plugin
thank you for your work for all of us. Im searching a not to difficult possibility (Im on a low programmer level) to create a form that saves data into a corresponfing table, were row can be edited. 0) Where is the support area to ask you in the correct way? 1) Is that possible? 2) Would you create a plugin with the form builder and then connect the form with the table somehow? But how? I do not see a field for the action of the form itself.
Thanx a lot
Kai
-
Sally Lin
Found the plugin useful on 8 Jan, 2017
Useful plugin but I have some issues:
- Plugin needs css bootstrap to display "actions" but doesn't mention this in doc's.
- Captcha does not display label so I had to inject a ::before css
- Need more info in the doc's about mail templates and mail services etc?! Would be nice if there was a video demo of the plugin.
Useful plugin will buy again, but please update your doc's info a bit more...
-
UpTop
Found the plugin not useful on 3 Jan, 2017
For basic use, FormBuilder works great. It's a very powerful plugin, but it lacks in overall stability. Too frequently it throws errors if you have Rainlab.Translate installed which is were this plugin should excel.
We'd give it 3/5 but still a not useful as we are disappointed every time we try to use it in combination with Translate.
-
Renatio author
Replied on 19 Mar, 2017
Hi,
I admit that there were some issues when using plugin with RainLab.Translate plugin.
Those issues were caused by RainLab.Translate plugin and are reported on gitHub. They are still not fixed by plugin authors and community.
In version 1.2.9 I suppressed those errors until RainLab.Translate plugin issues will be fixed.
I apologize it took me some time to handle this. I thought they will be fixed quicker in RainLab.Translate plugin source code.
-
Gerald Baumeister
Found the plugin useful on 20 Sep, 2016
Great Plugin and great support! Thank you!
-
Gerald Schandl
Found the plugin useful on 9 Sep, 2016
Great Plugin and really easy to use!!! Thanks to the developer, this plugin makes Forms much easier!
-
Mercer Digital
Found the plugin useful on 8 Sep, 2016
Very good product. Great features.
-
Vijay Patel
Found the plugin useful on 26 Aug, 2016
Perfect Plugin to handle most complex forms. It covers almost every aspect which is required to build a complex forms. Great work Renato.
-
Metro Ren
Found the plugin useful on 6 Aug, 2016
Very nice plugin!
-
Tyson Rude
Found the plugin useful on 6 Jul, 2016
Great plugin with a lot of flexibility for custom projects. Also, the support is timely and very helpful. I definitely recommend this plugin for OctoberCMS forms.
-
Nick
Found the plugin useful on 23 Jun, 2016
Great plugin! Works as expected. Would recommend allowing users to style labels directly though!
-
Elian
Found the plugin useful on 14 Jun, 2016
Awesome plugin! Very well made. Simple to use and highly costumizable.
Would recommend it to anyone. Well worth the money!
-
Juan Timana
Found the plugin useful on 7 Jun, 2016
This is an incredibly useful and very well done plugin. I recommend it to everyone that need to build forms that are easy to build and easy to maintain.
-
MyeongCheol Kwon
Found the plugin useful on 17 May, 2016
Very good plugin! Thanks.
-
Servers
Found the plugin useful on 22 Feb, 2016
Great plugin, very easy to use and integrate :)
-
Marina Sokolova
Found the plugin useful on 3 Feb, 2016
There is awesome plugin and the best support I've ever seen. Thank you very much for your job.
-
inIT
Found the plugin useful on 21 Jan, 2016
Very good plugin. Powerful and easy to use.
-
Andy Barker
Found the plugin useful on 17 Jan, 2016
This is a professionally written plugin that is really useful if you need lots of forms.
-
Potting Shed
Found the plugin useful on 16 Dec, 2015
Excellent plugin, and excellent support from Renatio. I would ALL of Renatio's plugins are a must for any serious OctoberCMS developer.
-
Gavin Foster
Found the plugin useful on 7 Oct, 2015
Simply a SUPERB plugin! The ability to customise each form, right down to the styles, layouts, and classes is just fantastic. The one support question I had was answered remarkably quickly. I've got multiple contact forms assigned to individual partials that the client is able to drop into their pages using the "Snippets" section of the Rain.Lab Pages plugin. Developer and client very happy. Highly recommended!
-
Daniel ody
Found the plugin not useful on 14 Sep, 2015
lake of stuff like date, time...input and setting the column..make wizard form!
-
Renatio author
Replied on 15 Sep, 2015
Dear customer,
please use Support feature to report any issues with plugin. I will be happy to assist you with any problems.
Please read documentation with understanding. There is a full list of available fields and no mention about date, time inputs. You should just create new Support topic corrensponding to your issue. I probably would respond just like this:
Datetime input is basically normal text input with added validation and plugin support it. You can add any laravel validation rules. See laravel documentation. If you would like to add javascript datepicker you just install datepicker library and attach it to your project. You must have some basic HTML/JS skills to do this, but if you are using OctoberCMS you should have it.
I do not know what you mean by "setting the column" just create new Support topic and describe what you mean.
Also comment "make wizard form!" - great but what do you mean by that? I encouraged you to create another Support topic for this one :)
Do everyone a favor and use full sentences in your comments.
Anyway, thanks for review and support :)
-
1.5.0 |
Elevate plugin permissions. Sep 16, 2020 |
---|---|
1.4.9 |
Fix issue with field options. Jul 23, 2018 |
1.4.8 |
Fix issue with ReCaptchaServiceProvider class. Jul 21, 2018 |
1.4.7 |
Fix multilingual fields. Jul 18, 2018 |
1.4.6 |
Generate form code automatically. Jul 18, 2018 |
1.4.5 |
Use October Default Mail Layout for example Templates. Jul 18, 2018 |
1.4.4 |
Improve RainLab.Location plugin integration. Jul 18, 2018 |
1.4.3 |
Dynamic form reply to fields. Jul 13, 2018 |
1.4.2 |
Fix fields and sections translation. Jan 31, 2018 |
1.4.1 |
Set default reCaptcha keys for testing. Jan 31, 2018 |
1.4.0 |
!!! Nicer form field validation. Oct 18, 2017 |
1.3.1 |
Fix example forms seeding. Apr 22, 2017 |
1.3.0 |
Allow to use CMS filters and functions in field templates. Apr 22, 2017 |
1.2.9 |
Fix RainLab.Translate compatibility issues. Mar 19, 2017 |
1.2.8 |
Fix sending email with file attachment for October build 401+ Mar 12, 2017 |
1.2.7 |
Improve seeding mail templates. Add Contact Form and Default Form. Update Mail Layout. Mar 12, 2017 |
1.2.6 |
Export form logs to CSV file. Feb 08, 2017 |
1.2.5 |
Allow to duplicate a form. Sep 19, 2016 |
1.2.4 |
Minor changes. May 14, 2016 |
1.2.3 |
German translation. Feb 10, 2016 |
1.2.2 |
Allow to manually specify url for redirect. Feb 03, 2016 |
1.2.1 |
Allow for custom validation messages. Feb 01, 2016 |
1.2.0 |
Dutch translation. Jan 29, 2016 |
1.1.9 |
Add comment to fields. Jan 22, 2016 |
1.1.8 |
Add HTML preview in logs. Jan 08, 2016 |
1.1.7 |
Add sections feature. Jan 08, 2016 |
1.1.6 |
Add reply to and autoresponse functionality. Dec 08, 2015 |
1.1.5 |
Add Event to extend default functionality. Nov 09, 2015 |
1.1.4 |
RainLab Location Plugin support. Nov 09, 2015 |
1.1.3 |
Minor changes. Oct 19, 2015 |
1.1.2 |
Allow for multiple forms on the same cms page. Fix required validation rule for fileuploader field type. Oct 19, 2015 |
1.1.1 |
Use Twig::parse() facade. Only update for October build 300 and above. Oct 05, 2015 |
1.1.0 |
!!! Important update Oct 05, 2015 |
1.0.4 |
Add simple logs. Sep 14, 2015 |
1.0.3 |
Add file attachment field type. Sep 14, 2015 |
1.0.2 |
Reference __SELF__ in component partial. Sep 06, 2015 |
1.0.1 |
First version of Form Builder plugin. Aug 24, 2015 |
1.2.6 to 1.2.7
: Plugin will register Contact Form Template and Default Form Template. If you would like to use new mail layout you need to create it manually from the source /plugins/renatio/formbuilder/updates/mail/layouts/formbuilder/
. Layout code should be specified as form_builder
. Assign newly created layout to the templates by updating them manually.
1.1.3 to 1.1.4
: Added wrapper_class to field properties. Update fields type manually if you want to use this.
1.0.1 to 1.1.0
: From version 1.1.0 plugin requires October build 300 and above.