Craft Cms 3 File Upload Working but Get an Error

Fields

Freeform features its own set of robust field types. Once created, fields are global and available to all forms, only they can likewise exist overwritten per class. This means that you can have a State field full of United states of america state options on i form, and then on some other grade add together territories to the country options, and and so on another form, relabel the field to be Provinces and change the values to contain Canadian provinces.

Freeform Form Builder Field Types

TIP

Important Notes

  • Merely Freeform's field types may be used in forms. Arts and crafts fields or custom field types are not supported at this fourth dimension.
  • Fields tin can be created and managed in the main field cosmos area (Freeform > Fields > New Field) and can also be created straight inside the Form Builder interface too. Fields created here are available globally likewise (they do non just exist for that form).
  • When the fields are edited at global level (in main Fields area of Freeform command panel), your customizations per form will Not exist lost.
  • One time a field is created, you lot cannot change the field type afterward.
  • All field properties can be overwritten at class level inside the Form Architect, including the field Handle.
  • All fieldtypes conveniently include the ability to set attributes for their labels, inputs, errors and instructions directly inside the Form Builder property editor. - This allows you to keep your easily clean of existence inside formatting templates and specify i-off exceptions for fields such as readonly and autocomplete="off", etc.
    • To use single attributes like novalidate, just enter the attribute in the Aspect column and exit the Value column empty.
    • You can utilise annihilation within the Course and Field objects as well, eastward.g.:
      • field.id to admission Field ID.
      • form.handle to admission class handle.

Standard Settings

There is a standard number of settings available to all forms (with some exceptions). Every form field has the ability for you to practice the following:

Setting Description
Reset (push) Pressing this will reset the field settings and values dorsum to what is set in the defaults (Freeform > Fields > New Field).
Handle How the field may exist called in templates, if necessary. Y'all may also override this value per class if you wish. Non-fields like HTML blocks will have a hash value that behaves the same as field handles.
Label The label for the field. This tin can be changed per class if you wish.
Required Marking if the field requires a value to submit the form successfully.
Instructions Specify intructions for the field if you wish.
Default Value For applicable fields, you can set a default value or selected pick for the field.
Placeholder Specify placeholder text for the field, if applicable.
Maximum Length The maximum number of characters for the field'due south value.
Aspect Editor Use any kind of attribute on the input, characterization, fault, education in Freeform's automatic rendering of the form.

Populating Field Options

All multi-option field types (such as Select, Checkboxes, etc) can have their option labels and values automatically populated with Arts and crafts Elements or Pre-defined list options.

  • Applicative Field Types
  • Available Craft Elements
  • Bachelor Predefined Options

Field Types

Freeform contains a rich set of field types to handle only about every possible scenario you lot might get yourself into.

Field Type Description Calorie-free Pro
Checkbox A single checkbox field
Checkbox Grouping A grouping of checkboxes
Date & Fourth dimension A complex date and/or time field
Dynamic Recipients A select/radio/checkbox field that allows the course submitter to cull from a list of available protected email addresses
E-mail A text input field that includes boosted email validation and possibility for attaching an e-mail notification to it.
File Upload A regular file upload field
File Upload Drag & Drib An advanced premium javascript-based file uploading field
Subconscious A single-line hidden input field
Invisible A field that allows you lot to collect hidden information in course submissions without a hidden field being present in the template source code
Multiple Select A multiple-select field
Number A single-line number type input field that is validated to contain certain numbers only
Opinion Calibration A special field that allows for flexible opinion scoring
Phone A tel type input field that is validated to contain phone numbers only, based on a configured pattern
Radio Grouping A group of radio options
Rating A special field that allows for star ratings
Regex An input field that is validated based on the specified regex blueprint (e.yard. /^[a-zA-Z0-nine]*$/)
Select A select dropdown menu field
Signature A field that allows users to handwrite signatures within your form
Tabular array A field that allows you to collect and handle repeating information
Text A single-line text input field
Textarea A multi-line text input field
Website A url type input field that checks to see if the URL specified has valid syntax

Special Field Types

Special fields are ones that are non created, but serve a special purpose for your forms. Some of them may be reused as many times in the same form equally you lot similar.

Field Type Clarification Usage Calorie-free Pro
Confirm A text input field that targets some other similar field and ensures the values lucifer Unlimited
Credit Card A set of input fields to allow the validation of credit cards for Stripe Payment implementations 1 per form
HTML A block that allows you lot to insert HTML into areas of your form Unlimited
Mailing List Checkbox A special checkbox to handle subcription to mailing lists when using Email Marketing integrations Unlimited
Password A text input field that collects sensitive passwords but does not store them Unlimited
Captcha A special field to handle spam verification when using the reCAPTCHA v2 Checkbox or hCaptcha Checkbox implementation 1 per class
Rich Text A cake that allows yous to insert rich text into areas of your form (headings, descriptions, etc) Unlimited
Save & Continue Later A special push button that allows the user to save form progress and return afterward one per folio
Submit A regular submit button for the form 1 per page

Checkbox

A single checkbox field. The field.blazon property value is checkbox (for conditionals).

Checkbox field type

Grade Builder Settings

  • Specify a value (e.g. y or aye, etc).
    • Has a default value of Yes, which tin can be overwritten with whatever value you want. The front terminate however, volition always display the value equally 1, but upon submission, the value will be switched to the one you lot have set.
  • May be checked by default.

Templating Properties

  • options (an array of selection objects with label and value properties)

Checkbox Group

A group of checkboxes. The field.type property value is checkbox_group (for conditionals).

Checkbox Group field type

Form Builder Settings

  • Can specify labels (with values causeless) or labels and values (that differ).
  • Can be automatically populated with select Craft Elements or Pre-defined list options.
  • Tin can be rendered vertically or horizontally.

Templating Properties

  • options (an array of pick objects with label and value properties)

Date & Fourth dimension Pro

A complex date and/or time field. Can exist used as Date simply, Time only, or both. Many configuration and validation options bachelor equally well. The field.type property value is datetime (for conditionals). Date & Time field type

Form Builder Settings

  • May contain a default value.
    • You may utilize now, today, 5 days ago, 2017-01-01 twenty:00:00, etc, which will format the default value according to the chosen format as a localized value.
  • The default Freeform datepicker can be disabled and you tin load your ain manually in the template if you lot wish.
    • Freeform will automatically insert javascript in the footer/inside form (depending on settings) of the page for this fieldtype.
  • Choose to have your own placeholder or have Freeform generate a placeholder based on the settings below.
  • Ready the engagement order formatting you lot'd like:
    • year calendar month day
    • month twenty-four hour period year
    • day month year
  • Select if the year should be displayed/validated equally four digits.
  • Select if the day and month numbers should have a leading 0 for unmarried digit values (eastward.g. August will brandish equally 08 instead of 8).
  • Choose the date separator character used between each year, month, mean solar day value:
    • None
    • Space ()
    • /
    • -
    • .
  • Select if time and datepicker should use 24 60 minutes clock.
  • Cull the clock separator character used to separate hours and minutes:
    • None
    • Infinite ()
    • :
    • -
    • .
  • Choose if placeholder should split AM/PM with a space (for 12hr clock).
  • Select the Min and Max dates for the date picker and validation (optional). Use static dates (eastward.g. 2018-eleven-01, 2018-11-thirty) or relative date strings (e.g. -10 days, +iii months).

Special Notes

  • For localization reference:
    • The Flatpickr appointment picker will automatically localize according to the locale gear up for your site. Locales available are only 2-alphabetic character codes similar fr, de, etc. In the upshot you're using a locale like fr-CA or es-US, etc, Freeform will just wait at the first ii letters and use that as the locale.
    • To interpret the formatting syntax error message, be sure to interpret the following strings:
      • "{value}" does not conform to "{format}" format.
      • To translate the {format} rendered value to match the current locale, exist certain to also interpret whatsoever the rendered cord is in the error message. For example, if y'all're using fr locale, and wish to have the default English language DD/MM/YYYY prove up every bit JJ/MM/AAAA, create a static translation for this manually.
  • To customize the date picker appearance and behavior, please see Date Picker Events documentation.

Templating Properties

  • initialValue
  • dateTimeType (e.grand. both)
  • generatePlaceholder (east.yard. true)
  • dateOrder (e.yard. ymd)
  • date4DigitYear (e.g. true)
  • dateLeadingZero (e.g. truthful)
  • dateSeparator (east.thousand. /)
  • clock24h (e.g. faux)
  • clockSeparator (e.g. :)
  • clockAMPMSeparate (due east.g. truthful)
  • useDatepicker (e.k. true)
  • minDate (due east.g. five weeks ago)
  • maxDate (e.g. 2024-12-31)

Dynamic Recipients

A special field, displayable as a Select, Radio or Checkbox Grouping that contains protected email addresses and labels for each. The field.blazon property value is dynamic_recipients (for conditionals).

Dynamic Recipients field type

Form Builder Settings

  • Can specify labels and e-mail address values.
    • Multiple email addresses can be specified for each selection, separated by commas.
    • Emails are never parsed in source lawmaking (they're replaced with 0, 1, 2, etc).
      • When parsing this field semi-manually, be sure to use loop.index0 to generate numeric values of options instead of fieldName.value.
    • To make the first option empty (when displaying as Select), set the first option having something like Please select... for the label, and get out option blank.
  • Can be automatically populated with select Arts and crafts Elements or Pre-defined list options. 3.ii.3+
  • Can be switched to display as Radio or Checkbox options at form level inside the Grade Builder.
    • Tin be rendered vertically or horizontally.
  • Choose an e-mail notification template to be used to send to the option(due south) chosen.
    • Users can specify i or more recipient options at a time (when using as Checkboxes).
    • Users/groups need to have permissions admission for Email Notifications to create new formatting templates inside the form builder.

Special Notes

  • Tin can include more than than 1 of this field type in your forms, assuasive for multiple sets of recipients to be notified.
  • When parsing this field semi-manually, be sure to employ loop.index0 to generate numeric values of options instead of fieldName.value.

TIP

Brand certain that each option value is unique.

If you're receiving duplicate or multiple email notifications from the Dynamic Recipients field, it's likely because you've specified more than than one pick with the same email accost. This is a current limitation of Freeform, equally information technology volition perceive the user submitting all of the matching options at once, sending off emails as many times as there are duplicate options.

The only workarounds for this would be to either:

  • Create an e-mail address allonym for each pick and so that each option in the Dynamic Recipients field type settings will be unique.
  • Add sub-address tags to the affected email addresses so their values are unique. For example: joe+any@example.com, joe+somethingelse@case.com.

Templating Backdrop

  • showAsRadio
    • A boolean value. If truthful the dynamic recipients field should be rendered as radio buttons instead of a select field.
  • showAsCheckboxes
    • A boolean value. If true the dynamic recipients field should exist rendered as checkboxes instead of a select field.
  • notificationId
    • The database ID of the assigned Email Notification Template.

Email

A single-line text input field that includes additional validation to wait a valid e-mail accost as well as the possibility for attaching an email notification to it. Pair this with the Confirm special field blazon if y'all wish to have the user enter their e-mail accost twice. The field.type property value is electronic mail (for conditionals).

Email field type

TIP

It is required to employ the E-mail field type if you wish for your users to receive an email notification when submitting the form and/or you lot're using an Electronic mail Marketing API integration.

Form Builder Settings

  • Optionally choose an electronic mail notification template to be used to send to the submitter of the form (or the email accost entered in this field).
    • Users/groups demand to have permissions access for Email Notifications to create new formatting templates inside the class architect.

Templating Backdrop

  • placeholder
  • notificationId (the ID of the assigned email notification template)

File Upload

A regular file upload field, using Craft Assets. The field.blazon property value is file (for conditionals).

File Upload field type

Form Builder Settings

  • Must have a Craft Asset Source location where the file volition be uploaded to.
    • Does NOT piece of work with Epitome Transforms.
    • Upload Location Subfolder (optional) - the subfolder path that files should exist uploaded to. May contain grade.handle or form.id variables or something similar currentUser.id for folders based on user ID's or "now"|date("Y/m") to dynamically generate folders based on dates every bit well.
  • Define maximum file size (in KB). Default is 2048 KB (2MB). Is subject to:
    • Craft's maxUploadFileSize setting
    • PHP memory_limit
    • PHP post_max_size
    • PHP upload_max_filesize
  • Can allow a single file or multiple files to be uploaded.
    • Specify a number larger than 1 in the File Count setting to allow multiple files to be uploaded at the aforementioned time.
    • When collecting multiple files, a single input is however displayed, simply allows multiple files to be uploaded (applies multiple aspect to the single file upload input).
  • Select which file types can be uploaded.
    • Leaving all options unchecked will permit ALL file types.

Special Notes

  • In multi-page forms, if an earlier page contains file upload field(s), files will actually be uploaded before the form is officially submitted.
    • If the form is never completed, incomplete submissions are stored for 3hrs, and then are removed (along with the files) afterwards that.
  • If you wish to allow more file extensions, you will need to add the extraAllowedFileExtensions (and possibly extraFileKinds) config items to your Craft config file (config/general.php).
    • East.thou. To add together back up for .heic image files, you can add the following to your config/general.php file:
                                                'extraAllowedFileExtensions'                      =                      >                      'heic'                      ,                      'extraFileKinds'                      =                      >                      [                      'image'                      =                      >                      [                      'extensions'                      =                      >                      [                      'heic'                      ]                      ,                      ]                      ,                      ]                      ,                                      

      1
      two
      3
      4
      five
      6
      seven

      • The extraFileKinds part will merge heic into the list of valid Image file types and care for it as such when you cheque off Epitome in the Allowed File Kinds setting for the field within the Freeform course builder. If you lot practise not practice this, be certain to uncheck all file types in the Allowed File Kinds settings.
    • Eastward.g. To add an assortment of extra file extensions, yous add the post-obit to your config/general.php file:
                                                'extraAllowedFileExtensions'                      =                      >                      'bim, dwg, rvt'`                                      

      i

      • Then be certain to uncheck all file types in the Allowed File Kinds settings, unless you grouping these into a file kind group using the extraFileKinds setting shown above.

    WARNING

    If y'all're still getting a Unknown file type mistake, this is likely because Freeform as well includes its own layer of file security checks (/vendor/solspace/arts and crafts-freeform/packages/plugin/src/Library/Helpers/FileHelper.php). You can modify this core file to get it working for y'all, but please contact u.s.a. if there's a missing file extension/mime type that needs to exist added to Freeform and we'll likely add support for information technology.

  • If you're handling sensitive files, you may wish to cull an Asset volume without public URL's (Avails in this volume accept public URLs toggle is off).

Templating Properties

  • fileKinds
    • An array of allowed file kinds, eastward.g. image, document, audio, etc.
  • maxFileSizeKB
    • The numeric representation of the upload limit in kilobytes.
  • fileCount
    • The maximum number of immune files to be uploaded.
    • A number larger than 1 will allow multiple files to exist uploaded at the same fourth dimension.

File Upload Drag & Drop Pro 3.12+

An advanced premium javascript-based file uploading field, using Craft Assets. The field.type property value is file_drag_and_drop (for conditionals).

File Upload Drag & Drop field type

Form Builder Settings

  • Tin command the placeholder wording, e.m. Elevate and drop files here, or click to upload.
  • Choose a default fashion/theme, e.g. Low-cal or Dark.
  • Choose an emphasis color (this affects the default color for the field border and delete push button).
  • Must have a Craft Asset Source location where the file will exist uploaded to.
    • Does Non piece of work with Paradigm Transforms.
    • Upload Location Subfolder (optional) - the subfolder path that files should exist uploaded to. May contain class.handle or form.id variables or something similar currentUser.id for folders based on user ID's or "now"|date("Y/m") to dynamically generate folders based on dates as well.
  • Specify the number of files allowed to upload.
  • Define maximum file size per file (in KB). Default is 2048 KB (2MB). Is discipline to:
    • Craft'southward maxUploadFileSize setting
    • PHP memory_limit
    • PHP post_max_size
    • PHP upload_max_filesize
  • Select which file types can be uploaded.
    • Leaving all options unchecked volition permit ALL file types.

Special Notes

  • Dissimilar the regular File Upload field, the File Upload Elevate & Drop field will recall files that have been uploaded to it regardless of the context: errors upon submission, multi-folio forms, returning to edit the submission later.
    • If the form is never completed, incomplete submissions are stored for 3hrs, and and so are removed (along with the files) after that.
  • While files are uploading, Freeform will disable the Submit button so that the form has time to stop uploading the files. If the form is submitted while files are withal uploading, any that are incomplete volition not be saved.
  • If you wish to let more file extensions, yous volition need to add the extraAllowedFileExtensions (and possibly extraFileKinds) config items to your Craft config file (config/full general.php).
    • East.one thousand. To add back up for .heic paradigm files, y'all can add the post-obit to your config/general.php file:
                                                'extraAllowedFileExtensions'                      =                      >                      'heic'                      ,                      'extraFileKinds'                      =                      >                      [                      'image'                      =                      >                      [                      'extensions'                      =                      >                      [                      'heic'                      ]                      ,                      ]                      ,                      ]                      ,                                      

      one
      two
      three
      4
      5
      six
      7

      • The extraFileKinds role volition merge heic into the list of valid Image file types and treat it as such when you check off Image in the Allowed File Kinds setting for the field inside the Freeform form builder. If you lot do not practice this, be sure to uncheck all file types in the Immune File Kinds settings.
    • E.thou. To add an assortment of actress file extensions, you add the following to your config/full general.php file:
                                                'extraAllowedFileExtensions'                      =                      >                      'bim, dwg, rvt'`                                      

      1

      • Then be certain to uncheck all file types in the Immune File Kinds settings, unless you group these into a file kind grouping using the extraFileKinds setting shown above.

    WARNING

    If you're withal getting a Unknown file type error, this is likely because Freeform also includes its own layer of file security checks (/vendor/solspace/arts and crafts-freeform/packages/plugin/src/Library/Helpers/FileHelper.php). You tin modify this cadre file to get it working for you, only please contact us if there's a missing file extension/mime blazon that needs to be added to Freeform and nosotros'll likely add together support for it.

  • If y'all're treatment sensitive files, you may wish to choose an Nugget volume without public URL's (Assets in this book have public URLs toggle is off). Notwithstanding, delight note that epitome file thumbnails will only be present directly after initial upload. Afterward (error when submitting, multi-page forms, returning to edit) the prototype thumbnails will no longer be attainable to Freeform.

Templating Backdrop

  • fileKinds
    • An array of allowed file kinds, eastward.g. image, certificate, audio, etc.
  • maxFileSizeKB
    • The numeric representation of the upload limit in kilobytes.
  • fileCount
    • The maximum number of allowed files to exist uploaded.
    • A number larger than 1 volition allow multiple files to be uploaded at the same time.

Customizing the Advent

The form builder includes some options for controlling bones styling, but you tin can as well customize the appearance of the Elevate and Driblet File Upload field by using your ain CSS. To avoid name collision and have maximum flexibility, the CSS class names utilise BEM methodology. Y'all will also likely need to specify !important for each override to ensure information technology takes event.

CLASS NAMES

Beneath is a list of all course names listed in SCSS:

                          .freeform-field-drag-and-drib                            {                              &__placeholder                            {              }                              &__messages                            {              }                              &__preview-zone                            {                              &__file-preview                            {                              &__filename                            {              }                              &__filesize                            {              }                              &__thumbnail                            {                              &__extension-characterization                            {              }                              &__remove-button                            {              }                              &__errors                            {              }                              &__progress                            {              }              }              }              }              }                      

1
ii
3
4
5
6
7
eight
ix
ten
11
12
13
xiv
xv
sixteen

SCSS Case

Below is an example with SCSS:

                          .freeform-field-drag-and-drop                            {              background              :              blueish;                              &__preview-zone                            {                              &__file-preview                            {              border              :              3px solid grey;                              &__thumbnail                            {              edge              :              1px solid blackness;              padding              :              5px;                              &__remove-button                            {              border-radius              :              0;              }              }              }              }              }                      

1
two
3
four
5
vi
7
8
9
x
xi
12
13
14
15
16
17
18

CSS Case

Beneath is an example with regular CSS:

                          .freeform-file-drag-and-drop              {              background              :              blueish              !of import              ;              edge              :              1px solid red              !important              ;              }              .freeform-file-drag-and-drop__placeholder              {              font-size              :              12px              !important              ;              }              .freeform-file-drag-and-drop__preview-zone__file-preview__thumbnail              {              border              :              3px solid yellow              !important              ;              }              .freeform-file-drag-and-drop__preview-zone__file-preview__thumbnail__remove-button              {              border-radius              :              0              !important              ;              }                      

1
2
3
4
5
6
7
eight
nine
10
11
12
xiii

A single-line hidden input field.

TIP

Freeform volition load fields of this blazon at the beginning of the form, regardless of where they are placed in the Class Builder layout.

Class Builder Settings

  • Can only include text strings at this time (no variables allowed).
    • If you demand yous pass a value to your hidden field dynamically, you lot can do and then with the overrideValues parameter. Ex: overrideValues: { myFieldName: myvalue }

Templating Backdrop

  • placeholder

Invisible Pro 3.5.0+

A field that allows you to collect hidden information in class submissions without a subconscious field beingness nowadays in the template source code. You might typically use this in conjunction with the overrideValues parameter to set a dynamic value into the field. It can besides be given a difficult coded value inside the Belongings Editor in the CP Class Builder interface while building your form.

Multiple Select

A multiple-select field. The field.type property value is multiple_select (for conditionals).

Multiple Select field type

Form Builder Settings

  • Can specify labels (with values assumed) or labels and values (that differ).
  • Tin be automatically populated with select Craft Elements or Pre-divers listing options.

Templating Properties

  • options (an array of option objects with label and value backdrop)

Number

A single-line number type input field that is validated to contain certain numbers only. The field.type property value is number (for conditionals).

Number field type

Form Architect Settings

  • Cull if validation should allow negative numbers.
  • Optionally gear up Min/Max values.
    • Both are optional, you can take both, simply ane or neither.
  • Optionally set Min/Max grapheme length.
    • Both are optional, yous can have both, but i or neither.
  • Optionally gear up the number of decimals allowed.
  • Set the pace number to set default increments when a user uses the browser upwardly/downwards arrows to increase/decrease the value.

Templating Properties

  • placeholder
  • minLength
  • maxLength
  • minValue
  • maxValue
  • decimalCount
  • allowNegative (e.g. false)
  • step

Opinion Scale Pro Surveys & Polls

A special field that allows for flexible opinion scoring using Freeform'due south built in CSS. The field.type belongings value is opinion_scale (for conditionals). This field type is included automatically with the Pro edition of Freeform or for Lite users with the Surveys & Polls form type improver.

Opinion Scale field type

Form Builder Settings

  • Set the field's option values and optional corresponding labels.
  • Optionally add legends to correspond to with choice options (east.g. Less Satisfied, More Satisfied).

Templating Properties

  • scales
  • legends

To manually render an Stance Scale field to use your own styles, your code might look something like this:

                                                            {%                  gear up                                field                =                form                .                get                (                                  "opinionScale"                                )                                  %}                                                                                                  <div                                                            manner                                        ="                                          border                      :                      1px dashed grayness;                      padding                      :                      5px;                                        "                                    >                                                                              {%                  if                                field                .                scales                                  %}                                                                                                  <ul                  >                                                                              {%                  for                                index                ,                scale                in                field                .                scales                                  %}                                                                                                  <li                  >                                <input type="radio" name="                                                {{                                field                .                handle                                  }}                                            " 							value="                                                {{                                scale                .                value                                  }}                                            " 							id="                                                {{                                field                .                idAttribute                                  }}                                            -                                                {{                                index                                  }}                                            "                                                {{                                field                .                value                ==                scale                .                value                ?                                  "checked"                                                  }}                                            /> 					<label for="                                                {{                                field                .                idAttribute                                  }}                                            -                                                {{                                alphabetize                                  }}                                            ">                                                {{                                scale                .                characterization                                  }}                                                                                                  </label                  >                                                                      </li                  >                                                                              {%                  endfor                                                  %}                                                                                                  </ul                  >                                                                              {%                  endif                                                  %}                                                                              {%                  if                                field                .                legends                                  %}                                                                                                  <ul                  >                                                                              {%                  for                                legend                in                field                .                legends                                  %}                                                                                                  <li                  >                                                                              {{                                legend                .                legend                                  }}                                                                                                  </li                  >                                                                              {%                  endfor                                                  %}                                                                                                  </ul                  >                                                                              {%                  endif                                                  %}                                                                                                  </div                  >                                                    

i
two
3
4
5
6
7
viii
ix
10
11
12
13
14
15
xvi
17
eighteen
19
20
21
22
23
24
25
26
27

Telephone Pro

A tel type input field that is validated to incorporate phone numbers only, based on a configured pattern. The field.type property value is telephone (for conditionals).

Phone field type

Form Builder Settings

  • Set pattern to desired format, where 0 is a digit betwixt 0 and 9, e.g:
    • (000) 000-0000
    • +0 0000 000000
    • Check off Utilize JS validation checkbox to accept Freeform include JS in the form that validates the format and car-inserts the extra characters like (, -, + etc).

Templating Properties

  • placeholder
  • pattern

Radio Group

A group of radio options. The field.blazon holding value is radio_group (for conditionals).

Radio Group field type

Form Builder Settings

  • Can specify labels (with values assumed) or labels and values (that differ).
  • Can exist automatically populated with select Craft Elements or Pre-divers list options.
  • Can exist rendered vertically or horizontally.

Templating Properties

  • options (an assortment of option objects with label and value properties)

Rating Pro Surveys & Polls

A special field that allows for star ratings using Freeform's built-in CSS. The field.blazon property value is rating (for conditionals). This field type is included automatically with the Pro edition of Freeform or for Lite users with the Surveys & Polls form type addition.

Rating field type

Form Builder Settings

  • Prepare the field's number of stars (3-10).
  • Style the colour of the stars for the unselected, hover and selected states.

Templating Properties

  • colorIdle (e.yard. #ddd)
  • colorHover (e.g. gold)
  • colorSelected (east.g. #f70)
  • maxValue (e.g. five)

To manually render a Rating field using your own styles, your lawmaking might look something like this:

                                                            {%                  for                                i                in                1.                .                field                .                maxValue                                  %}                                            <label for="rating-                                                {{                                i                                  }}                                            ">whatsoever                                                {{                                i                                  }}                                                                                                  </label                  >                                <input type="radio" id="rating-                                                {{                                i                                  }}                                            " value="                                                {{                                i                                  }}                                            " name="                                                {{                                field                .                handle                                  }}                                            ">                                                {%                  endfor                                                  %}                                                    

ane
2
3
4

Regex Pro

An input field that is validated based on the specified regex blueprint (e.g. /^[a-zA-Z0-ix]*$/). The field.blazon property value is regex (for conditionals).

Regex field type

Form Architect Settings

  • Specify a required blueprint for values to friction match, east.g. /^[a-zA-Z0-9]*$/.
  • Set the error bulletin a user will see if an incorrect value is supplied.
    • Any occurrences of {design} will be replaced with specified regex pattern inside the mistake message, if any are found.

Special Notes

  • When needing to apply {} for attributes in Regex fields (such as pattern), you lot will demand to specify them differently, as Freeform is congenital to allow Twig rendering and it'll asphyxiate. So for instance, if y'all need to use [0-9]{4,5}, alter it to:
                          [0-9]                                                {{                                                  '{'                                                  }}                                            4,5                                                {{                                                  '}'                                                  }}                                                    

ane

Templating Properties

  • placeholder
  • pattern
  • message

Select

A select dropdown menu field. The field.blazon holding value is select (for conditionals).

Select field type

Form Architect Settings

  • Can specify labels (with values causeless) or labels and values (that differ).
    • To brand the outset selection empty, use labels and values arroyo with the first option having something like Please select... for the label, and leave option bare.
  • Can be automatically populated with select Craft Elements or Pre-divers list options.

Templating Properties

  • options (an array of pick objects with label and value properties)

Signature Pro 3.iv.0+

A field that allows users to handwrite signatures with their mouse inside your form. The field.blazon belongings value is signature (for conditionals).

Signature field type

Form Builder Settings

  • Ready the dimensions of the field writing/drawing area.
  • Prepare the border and background colors.
  • Set up the pen dot size (in pixels) and the color.
  • To include ability for a user to click a button to erase their signature and first over, cheque off the Show 'Articulate' button? checkbox.

Special Notes

  • Signatures are stored as an epitome datapoint value.
  • Signatures tin be downloaded as JPG or PNG files (from command console).
  • Signatures are excluded from regular exports and the allFields loop in email notification templates (since it would just concord an paradigm datapoint value cord).
  • Signatures can be edited when the form is in edit way.
  • The Clear push button tin can be styled within the Grade Builder with Input attributes area inside the property editor.
  • The Signature field, due to it's complexness, cannot hands be manually generated in a form, and is best done with return helpers, e.chiliad. field.render.
  • In that location'south currently no style to make the signature pad expanse "responsive" (like setting it to 100% width), as this would exist quite difficult to business relationship for with the need to display the signature prototype in various places, etc.

Table Pro 3.5.0+

A field that allows you to collect and handle repeating data. The field.blazon property value is tabular array (for conditionals).

Table field type

Course Builder Settings

  • Use the Table Layout area to create columns for the table. Options are:
    • Text
    • Checkbox
      • When using Checkbox, specify a value you'd like to represent that checkbox when checked.
    • Select
      • When using Select, specify multiples separated by the ; graphic symbol, e.g. apples;oranges:cherries.
  • Bank check off Use built-in Table JS? checkbox to take Freeform include JS in the form that validates the format and car-inserts the extra characters similar (, -, + etc).

Form Rendering

Here'southward how y'all can use field.render for an automated approach to return your Tabular array field inside your formatting templates:

                                                            {{                                field                .                render                (                {                class                :                                  "table"                                ,                addButtonLabel                :                                  "Add +"                                ,                addButtonClass                :                                  "btn btn-sm btn-principal"                                ,                removeButtonLabel                :                                  "x"                                ,                removeButtonClass                :                                  "btn btn-sm btn-danger"                                ,                tableTextInputClass                :                                  "form-control"                                ,                tableSelectInputClass                :                                  "class-control"                                ,                tableCheckboxInputClass                :                                  "form-bank check-input"                                }                )                                  }}                                                    

ane
two
3
4
v
vi
7
8
9
10

For manual rendering of the Table field inside your form for full customizability, your lawmaking might look something similar this:

                                                                                <table                  class                                      =                    "table"                                    >                                                                      <thead                  >                                                                      <tr                  >                                                                              {%                  for                                column                in                field                .                tableLayout                                  %}                                                                                                  <th                  >                                                                              {{                                column                .                label                                  }}                                                                                                  </thursday                  >                                                                              {%                  endfor                                                  %}                                                                                                  </tr                  >                                                                      </thead                  >                                                                      <tbody                  >                                                                              {%                  if                                field                .                value                is                empty                                  %}                                                                                                  <tr                  >                                                                              {%                  for                                index                ,                column                in                field                .                tableLayout                                  %}                                                                              {%                  fix                                colName                =                field                .                handle                ~                                  "[0]["                                ~                index                ~                                  "]"                                                  %}                                                                                                  <td                  >                                                                              {%                  switch                                column                .                type                |                default                (                                  "text"                                )                                  %}                                                                              {%                  case                                                  "select"                                                  %}                                            <select proper noun="                                                {{                                colName                                  }}                                            ">                                                {%                  for                                option                in                cavalcade                .                value                |                default                (                                  "                  "                                )                |                split                (                                  ";"                                )                                  %}                                            <option value="                                                {{                                pick                                  }}                                            ">                                                {{                                pick                                  }}                                                                                                  </option                  >                                                                              {%                  endfor                                                  %}                                                                                                  </select                  >                                                                              {%                  case                                                  "checkbox"                                                  %}                                            <input type="checkbox" name="                                                {{                                colName                                  }}                                            " value="                                                {{                                column                .                value                |                default                (                                  "Yes"                                )                                  }}                                            " />                                                {%                  default                                                  %}                                            <input type="text" name="                                                {{                                colName                                  }}                                            " value="                                                {{                                column                .                value                |                default                (                                  "                  "                                )                                  }}                                            " />                                                {%                  endswitch                                                  %}                                                                                                  </td                  >                                                                              {%                  endfor                                                  %}                                                                                                  </tr                  >                                                                              {%                  else                                                  %}                                                                              {%                  for                                rowIndex                ,                row                in                field                .                value                                  %}                                                                                                  <tr                  >                                                                              {%                  for                                index                ,                column                in                field                .                tableLayout                                  %}                                                                              {%                  set                                colName                =                field                .                handle                ~                                  "["                                ~                rowIndex                ~                                  "]["                                ~                index                ~                                  "]"                                                  %}                                                                              {%                  fix                                colValue                =                row                [                index                ]                |                default                (                                  "                  "                                )                                  %}                                                                                                  <td                  >                                                                              {%                  switch                                column                .                type                |                default                (                                  "text"                                )                                  %}                                                                              {%                  example                                                  "select"                                                  %}                                            <select proper noun="                                                {{                                colName                                  }}                                            ">                                                {%                  for                                option                in                colValue                |                default                (                                  "                  "                                )                |                carve up                (                                  ";"                                )                                  %}                                            <option value="                                                {{                                option                                  }}                                            "                                                {{                                option                ==                colValue                ?                                  "                  selected"                                                  }}                                            >                                                {{                                option                                  }}                                                                                                  </choice                  >                                                                              {%                  endfor                                                  %}                                                                                                  </select                  >                                                                              {%                  case                                                  "checkbox"                                                  %}                                            <input blazon="checkbox" name="                                                {{                                colName                                  }}                                            " value="                                                {{                                column                .                value                |                default                (                                  "Aye"                                )                                  }}                                            "                                                {{                                colValue                ?                                  "checked"                                                  }}                                            />                                                {%                  default                                                  %}                                            <input type="text" name="                                                {{                                colName                                  }}                                            " value="                                                {{                                colValue                                  }}                                            " />                                                {%                  endswitch                                                  %}                                                                                                  </td                  >                                                                              {%                  endfor                                                  %}                                                                                                  </tr                  >                                                                              {%                  endfor                                                  %}                                                                              {%                  endif                                                  %}                                                                                                  </tbody                  >                                                                      </table                  >                                                    

1
2
3
4
5
6
7
eight
nine
ten
xi
12
13
14
15
16
17
18
nineteen
20
21
22
23
24
25
26
27
28
29
thirty
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
l
51
52
53
54
55

Submission Data

Hither's how to render a Table field'due south information inside the Submission object:

                                                                                <table                  class                                      =                    "tabular array"                                    >                                                                      <thead                  >                                                                      <tr                  >                                                                              {%                  for                                cavalcade                in                field                .                tableLayout                                  %}                                                                                                  <thursday                  >                                                                              {{                                cavalcade                .                label                |                default                (                                  "-"                                )                                  }}                                                                                                  </thursday                  >                                                                              {%                  endfor                                                  %}                                                                                                  </tr                  >                                                                      </thead                  >                                                                      <tbody                  >                                                                              {%                  for                                row                in                submission                [                field                .                handle                ]                .                value                                  %}                                                                                                  <tr                  >                                                                              {%                  for                                alphabetize                ,                column                in                field                .                tableLayout                                  %}                                                                                                  <td                  >                                                                              {{                                row                [                alphabetize                ]                                  }}                                                                                                  </td                  >                                                                              {%                  endfor                                                  %}                                                                                                  </tr                  >                                                                              {%                  endfor                                                  %}                                                                                                  </tbody                  >                                                                      </table                  >                                                    

1
2
iii
iv
5
6
seven
eight
ix
10
eleven
12
thirteen
14
15
16
17
eighteen

A consummate example might look like:

                                                            {%                  for                                field                in                submission                                  %}                                                                                                  <td                  >                                                                              {%                  if                                field                .                blazon                ==                                  "table"                                                  %}                                                                                                  <table                  class                                      =                    "table"                                    >                                                                      <thead                  >                                                                      <tr                  >                                                                              {%                  for                                column                in                field                .                tableLayout                                  %}                                                                                                  <th                  >                                                                              {{                                column                .                label                |                default                (                                  "-"                                )                                  }}                                                                                                  </thursday                  >                                                                              {%                  endfor                                                  %}                                                                                                  </tr                  >                                                                      </thead                  >                                                                      <tbody                  >                                                                              {%                  for                                row                in                submission                [                field                .                handle                ]                .                value                                  %}                                                                                                  <tr                  >                                                                              {%                  for                                index                ,                column                in                field                .                tableLayout                                  %}                                                                                                  <td                  >                                                                              {{                                row                [                alphabetize                ]                                  }}                                                                                                  </td                  >                                                                              {%                  endfor                                                  %}                                                                                                  </tr                  >                                                                              {%                  endfor                                                  %}                                                                                                  </tbody                  >                                                                      </table                  >                                                                              {%                  else                                                  %}                                                                              {{                                submission                [                field                .                handle                ]                                  }}                                                                              {%                  endif                                                  %}                                                                                                  </td                  >                                                                              {%                  endfor                                                  %}                                                    

1
2
3
4
five
six
7
8
nine
10
eleven
12
13
14
xv
xvi
17
18
19
20
21
22
23
24
25
26

Text

A unmarried-line text input field. The field.type belongings value is text (for conditionals).

Text field type

Templating Properties

  • placeholder

Textarea

A multi-line text input field. The field.type property value is textarea (for conditionals).

Textarea field type

Form Builder Settings

  • Tin can specify the number of rows the textarea should take.

Templating Properties

  • placeholder

Website Pro

A url type input field that checks to run into if the URL specified has valid syntax (http://, https://, ftp://, etc). The field.type belongings value is website (for conditionals).

Website field type

Templating Properties

  • placeholder

Special Fields

Special fields are ones that either every form needs (such as Submit button), ones that assistance in setting upward form behaviors (such equally Confirm and Countersign), and ones that aid in the layout and content of forms (such as the HTML block). None of these fields store any submission data in the database. The following special fields are available to use:

Ostend Pro

A special field type that allows you lot to force a user to enter a matching value for some other text input field, including the Password special fields (due east.g. "Confirm Email Address", "Ostend Countersign"). This field does not shop any data. It simply runs through Freeform's actress validation. The field.blazon property value is confirmation (for conditionals).

Confirm field type

Course Builder Settings

  • Choose a target field to validate confronting, e.chiliad. Email field.
    • Bachelor fields must be of text input type, only don't necessarily need to be of the Text field type - y'all tin can use with Email fields, Password special fields, Telephone fields, etc.

Templating Properties

  • placeholder

Credit Card Pro

When a Stripe Payments integration is configured, a credit card special field blazon will get bachelor. This is required for Payments-enabled forms to collect (but not store) credit card data. The field.type property value is cc_details (for conditionals).

Credit Card field type

Form Architect Settings

  • Choose a target field to validate against, e.g. Email field.
    • Bachelor fields must be of text input type, just don't necessarily need to be of the Text field blazon - you can apply with E-mail fields, Password special fields, Telephone fields, etc.

Templating Backdrop

  • placeholder

HTML

A special field blazon that allows you include HTML and Twig inside your class layout in the form architect. The field.blazon property value is html (for conditionals).

HTML field type

Special Notes

  • The Property Editor will load an HTML area for you to blazon or paste your lawmaking into. Yous can also expand the editor into full mode.
  • The Layout column in the form builder volition alive parse your HTML (Twig will not be parse inside the form architect).
  • All HTML is allowed here.
  • To enable Twig inside this field, turn on the Allow Twig to be Enabled for each HTML block? setting (and decide if you lot need to enable to the Render HTML block Twig in isolated mode? setting besides). Then, you will see an Allow Twig checkbox in the belongings editor column. Check that to permit this HTML block to parse Twig code. 3.10+
  • Y'all can include as many of these in your form equally you wish.

Displaying Submission Data from Previous Pages three.10+

If you'd like to brandish submission information from previous pages, you tin can do this by using an HTML cake field with Twig code that might look something like this:

                                                                                <ul                  >                                                                      <li                  >                Proper noun:                                                {{                                form                .                get                (                                  'firstName'                                )                .                value                                  }}                                                                              {{                                form                .                get                (                                  'lastName'                                )                .                value                                  }}                                                                                                  </li                  >                                                                      <li                  >                Email:                                                {{                                form                .                go                (                                  'email'                                )                .                valueAsString                                  }}                                                                                                  </li                  >                                                                      <li                  >                Dwelling house Phone:                                                {{                                form                .                become                (                                  'homePhone'                                )                .                value                                  }}                                                                                                  </li                  >                                                                      <li                  >                My Radio Field:                                                {{                                form                .                get                (                                  'myRadioField'                                )                .                value                                  }}                                                                                                  </li                  >                                                                      </ul                  >                                                    

1
2
three
iv
5
6

Mailing List Checkbox Pro

A special field blazon (located at the bottom left corner in the form builder) that allows you include a checkbox or subconscious field inside your form layout in the form architect to connect your form to an Email Marketing integration. The field.type property value is mailing_list (for conditionals).

Mailing List field type

Form Builder Settings

  • Email Marketing / Mailing list integrations appear as a checkbox that tin can exist drag and dropped into the form builder interface (from the lesser left corner):
    • Can be displayed as a single checkbox, or ready to be a subconscious field (as an automatic opt-in when using specifically for mailing list signups).
    • If you desire more than ane mailing list, yous tin drag and drop some other Mailing List field into your layout (but the checkboxes cannot be displayed as a grouping, unless yous made some manual adjustments to the formatting template to simulate it).
  • Label of the checkbox is customizable per form.
  • Checkbox can exist checked past default.
  • You lot can specify the mailing list to exist used for the mailing list integration.
  • Your form must include an E-mail field blazon, which must then be assigned to the Target Electronic mail Field setting.
  • When available, the Field Mapping setting allows you to map Freeform fields to available mailing list integration fields.

Special Notes

  • Email Marketing / Mailing list integrations are globally bachelor to all forms, but are configured per form inside the Form Builder interface.
  • Nigh - if not all - integrations attempt to map all available fields and custom fields, but some may have limitations if the API is as well complex or doesn't allow information technology.

TIP

While data is passed along to the Electronic mail Marketing provider, Freeform does non store whether or not Email Marketing fields were opted in, so CP submission views volition non display whether or not the user subscribed.

Countersign Pro

A special field type that allows y'all to securely collect a password from a submitter but NOT store the value in the Freeform database (typically used for User Registration forms via Chemical element Connections feature). Pair this with the Confirm special field blazon if you wish to take the user enter their password twice. The field.blazon property value is password (for conditionals).

Password field type

Special Notes

  • Collected data is not stored in Freeform anywhere, nor is it included in the Submission object or allFields variable in email notifications.
  • When using with Users Element Connections feature, the password will be passed off to Craft'due south Users member business relationship feature.

Captcha

A special field blazon that displays and handles the reCAPTCHA or hCaptcha 3.12.9+ interaction with the user when the Checkbox choice is enabled and configured for the website. Please notation that reCAPTCHA v2 Invisible, reCAPTCHA v3 and hCaptcha Invisble practise not require any add-on of a special field to the form layout. Freeform will automatically apply that validation and have intendance of it. The field.type property value is recaptcha (for conditionals).

reCAPTCHA v2 Checkbox field type

Special Notes

  • See Captchas documentation for more information.

Templating

  • When a reCAPTCHA v2 Checkbox or hCaptcha Checkbox field is placed into a course layout in the Freeform grade builder, it will render automatically like the rest of your fields. Even so, if y'all're building a class manually, you'd call it like this: 3.10.iv+
                                                                                {%                      set                                        captcha                    =                    form                    .                    go                    (                                          'recaptcha'                                        )                                          %}                                                                                                  {{                                        captcha                    .                    renderInput                                          }}                                                                    

    1
    2

    • If using an earlier version of Freeform (pre iii.ten.4), you'll demand to use the Hash value for the Captcha field in the Property Editor of the Course Architect, like this:
                                                                                                  {%                          set                                                captcha                        =                        form                        .                        become                        (                                                  "JDGnlp8vB"                                                )                                                  %}                                                                                                                      {{                                                captcha                        .                        renderInput                                                  }}                                                                                    

      1
      2

  • If you're loading an unabridged form into a remote website page via AJAX, you'll need to load the reCAPTCHA JS yourself, since information technology's considered insecure otherwise and the browser blocks it. You should add this script tag anywhere on your page, preferably the footer:
                                                                                                        <script                      type                                              =                        "text/javascript"                                            src                                              =                        "https://www.google.com/recaptcha/api.js?render=explicit"                                            >                                                                                                          </script                      >                                                                    

    1

Rich Text Pro

A special field blazon that allows y'all include rich text inside your grade layout in the course architect. The field.type property value is rich_text (for conditionals).

Rich Text field type

Special Notes

  • The Holding Editor volition load a Rich Text area for you to type into and style as necessary. You can too aggrandize the editor into full mode.
  • The Layout column in the course architect volition alive parse your content.
  • You can include as many of these in your form as you lot wish.

Salve & Continue Later Pro three.12+

A special field type that lets you lot place "save" button(south) within your course layout in the form builder, assuasive users to save their form progress and proceed/complete the form later. For more than information about this feature, please run across the Save & Continue Later documentation. The field.type property value is save (for conditionals).

Form Architect Settings

  • Settings allow you to edit the push button label.
  • You lot may arrange the positioning of the submit push button:
    • Aligned to Left
    • Aligned to Center
    • Aligned to Right
  • A return URL must be configured. This is where the user should exist returned to if they click the button.
    • Special token and central variables are bachelor to include in the return path.
    • The return URL would exist wherever yous like, and fully customizable. This is where you'd include instructions to the user including a URL for where to return to consummate the grade later.
  • You may optionally specify that an email notification be sent to the user if they click the Salvage button.
    • Cull a special Freeform email notification template.
    • The bulletin of this email notification is completely customizable, simply be certain to include instructions to the user including a URL for where to return to complete the class afterward.
    • Requires targeting of a Email field that will comprise the user'south electronic mail accost in order to send the email notification.
      • If the user hasn't yet filled out an email address, the email notification attempt will be suppressed (as in that location is no field validation to ensure the Electronic mail field is fillout out). A expert style around this would be to take the first page include bones info like proper name and e-mail but no option to save the form until the second page.
  • You may include 1 per page in your form.

Templating Properties

  • labelNext
    • A label for the Next button. Submit past default.
  • labelPrev
    • A characterization for the Previous button. Previous past default.
  • disablePrev
    • A boolean value. If true the Previous button should not be rendered.

Submit

A special field type that lets you place submit button(s) inside your form layout in the form builder. The field.type holding value is submit (for conditionals).

Submit field type

Form Builder Settings

  • Settings permit you to edit the button label(s).
  • You may adjust the positioning of the submit button:
    • Aligned to Left
    • Aligned to Centre
    • Aligned to Right
  • When using with multi-page forms, Freeform will detect when you're on a page after first page, and provide you with additional options:
    • It will include a Previous button by default, allowing the user to go back to previous pages in the form.
      • The Previous button can be disabled.
    • Positioning options at present include:
      • Apart at Left and Correct
      • Together at Left
      • Together at Center
      • Together at Right
  • You may include ane per folio in your form.

Special Notes

When manually building submit buttons in forms, exist sure to include a data-freeform-action attribute to information technology. three.12+

The attribute value differs between various types of submit buttons:

  • For the regular submit push which advances forms forrard, it'due south value has to be submit
  • For the back buttons in multi-page forms, the value has to be back
  • For the Relieve & Continue Later buttons, the value has to exist save
                                                            <button                type                                  =                  "submit"                                data-freeform-activeness                                  =                  "submit"                                >              Submit                                  </button                >                                                              <button                blazon                                  =                  "submit"                                data-freeform-action                                  =                  "back"                                >              Go Back                                  </button                >                                                              <button                type                                  =                  "submit"                                data-freeform-activeness                                  =                  "relieve"                                >              Save & Continue Later                                  </push                >                                    

one
ii
three

Templating Properties

  • labelNext
    • A label for the Side by side button. Submit by default.
  • labelPrev
    • A label for the Previous push button. Previous by default.
  • disablePrev
    • A boolean value. If true the Previous button should non exist rendered.

Populating Fields with Elements & Predefined Options

Inside the Form Builder (but), field types with options (such as Select, Radio Grouping, etc) accept the ability to be automatically fed options from Arts and crafts Elements or Freeform's own predefined options. This allows you to quickly build forms by having fields auto-generated.

TIP

For cases where you need more than control over populating field options dynamically at template level, such equally from a Craft Entry or some other Twig lawmaking in your template), please see this guide:

  • GUIDE: Populate Field Options at Template Level

Applicable Field Types

The following field types can be auto-populated:

  • Select
    • Optional Empty Option Label to take first selection exist something like Please select...
  • Multiple Select
  • Checkbox Group
  • Radio Group
  • Dynamic Recipients (Elements only) 3.2.3+

Available Craft Elements

The following Craft Elements can be fed to the above field types:

  • Craft Entries
    • Target sections or all sections.
    • Option Label and Option Value choices:
      • ID
      • Title
      • Slug
      • URI
      • Fields (simple values)
  • Arts and crafts Users
    • Target user groups or all groups.
    • Option Characterization and Option Value choices:
      • ID
      • Username
      • Email
      • First Proper name
      • Last Name
      • Full Name
      • Fields (simple values)
  • Craft Categories
    • Target category groups or all groups.
    • Pick Characterization and Selection Value choices:
      • ID
      • Title
      • Slug
      • URI
      • Fields (unproblematic values)
  • Craft Tags
    • Target tag groups or all groups.
    • Option Label and Option Value choices:
      • ID
      • Title
      • Slug
      • URI
      • Fields (simple values)
  • Craft Avails
    • Target product blazon or all product types.
    • Option Characterization and Choice Value choices:
      • Filename
      • ID
      • Fields (simple values)
  • Craft Commerce Products 3.9.0+
    • Target asset groups or all groups.
    • Option Label and Option Value choices:
      • ID
      • Title
      • Slug
      • URI
      • SKU
      • Price
      • Fields (elementary values)

Element Feeders

Available Predefined Options

The following Freeform predefined options tin can be fed to the above field types:

  • States
    • Official USA States
    • Option Label and Option Value choices:
      • Total
      • Abbreviated (upper case two messages)
  • States & Territories
    • Official U.s. States and territories
    • Selection Label and Option Value choices:
      • Full
      • Abbreviated (upper instance 2 messages)
  • Canadian Provinces
    • Provinces - English
      • Canadian Provinces and territories in English language
    • Provinces - French
      • Canadian Provinces and territories in French
    • Provinces - Bilingual
      • Bilingual list of Canadian Provinces and territories
      • Option Label and Pick Value choices:
        • Full
        • Abbreviated (upper instance 2 letters)
  • Countries
    • All world countries
    • Option Characterization and Selection Value choices:
      • Full
      • Abbreviated (upper case 2 messages)
  • Languages
    • All world languages
    • Option Characterization and Option Value choices:
      • Full
      • Abbreviated (lower case 2 letters)
  • Numbers (range)
    • A custom range of numbers
    • Range Start and Range Stop
      • E.grand. 60 - 65 would return list: sixty, 61, 62, 63, 64, 65
  • Years (range)
    • A custom range of years
    • Range Start - number of years in By from electric current twelvemonth
    • Range End - number of years in Hereafter from current year
      • East.grand. 5 (outset) - 0 (stop) would render list: 2018, 2017, 2016, 2015, 2014, 2013
    • Sort Direction:
      • Ascending
      • Descending
  • Months
    • All 12 months of the year.
    • Option Label and Choice Value choices:
      • Full, e.grand. September
      • Abbreviated (Capitalized 3 letters), due east.chiliad. Sep
      • Single Number, e.g. 9
      • 2-digit Number, e.g. 09
  • Days
    • List of days 1 to 31.
    • Option Label and Choice Value choices:
      • Single Number, e.1000. 3
      • 2-digit Number, east.g. 03
  • Days of Week
    • List of all days of calendar week.
    • Option Label and Option Value choices:
      • Full, e.g. Th
      • Abbreviated (Capitalized 3 messages), e.chiliad. Thu
      • Single Number, e.thousand. 4

Predefined Feeders

stjohninds1937.blogspot.com

Source: https://docs.solspace.com/craft/freeform/v3/overview/fields.html

0 Response to "Craft Cms 3 File Upload Working but Get an Error"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel