#1

Product support

Get help in the plugin support forum.

Categories

  • Developer Tools
  • Miscellaneous
  • Utility

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:

  1. Do not use message or content as the name for the field.
  2. Use _ instead of - in field names.
  3. Remember to always return to WYSWIG mode before saving Mail Template/Layout.
  4. 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.

  • 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!

  • 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

  • Found the plugin useful on 8 Jan, 2017

    Useful plugin but I have some issues:

    1. Plugin needs css bootstrap to display "actions" but doesn't mention this in doc's.
    2. Captcha does not display label so I had to inject a ::before css
    3. 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...

  • 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.

  • 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.

  • Found the plugin useful on 20 Sep, 2016

    Great Plugin and great support! Thank you!

  • 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!

  • Found the plugin useful on 8 Sep, 2016

    Very good product. Great features.

  • 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.

  • Found the plugin useful on 6 Aug, 2016

    Very nice plugin!

  • 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.

  • Found the plugin useful on 23 Jun, 2016

    Great plugin! Works as expected. Would recommend allowing users to style labels directly though!

  • 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!

  • 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.

  • Found the plugin useful on 17 May, 2016

    Very good plugin! Thanks.

  • Found the plugin useful on 22 Feb, 2016

    Great plugin, very easy to use and integrate :)

  • 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.

  • Found the plugin useful on 21 Jan, 2016

    Very good plugin. Powerful and easy to use.

  • Found the plugin useful on 17 Jan, 2016

    This is a professionally written plugin that is really useful if you need lots of forms.

  • 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.

  • 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!

  • Found the plugin not useful on 14 Sep, 2015

    lake of stuff like date, time...input and setting the column..make wizard form!

  • 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.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.