Advanced Components
Learn more about the Advanced Components
Last updated
Learn more about the Advanced Components
Last updated
Advanced Components are often Basic Components that have been extended to meet more complex requirements. You can find information for each of the Advanced Components like unique settings, JSON code, and field examples below:
Input field with validation ensuring email format.
URL
Input field with validation ensuring a URL format.
Phone Number
Input field with a mask that allows numeric format.
Tags
Catergorize items on your form or use for tags for logic.
Address
Input field with Location provider support for address lookup and map.
Date & Time
Input or select a date and time for a calendar picker widget.
Day
A three field component that represents Day/Month/Year.
Time
Input to add a time or select a time from a predefined widget.
Currency
Input field that supports many different currency types.
Survey
Questions and correlated answers in survey format.
Signature
Digitally sign on a signature pad.
The Email component is a string field that carries special input validation ensuring the entered data is in a valid email format. A valid email address consists of an email prefix and an email domain, both in acceptable formats.
Realtime Kickbox.io Validation: In addition to the normal email format validation, bring real-time Email validation through our integration with Kickbox.io. For more information on how this works, please check out the Kickbox Integration section.
Similar to the Email field, the URL component is a string field that carries special input validation ensuring the entered data is in a valid URL format. Validation will check to see if the entered input data is at least in the correct format to potentially be a legitimate URL.
There are no unique settings for the URL component.
The Phone Number field carries an input mask to force the user to enter the field data in Phone Number format.
EG (123) 123-1234
There are no unique settings for the Phone Number component.
The Tag component draws attention to or categorizes elements on your form. Multiple tags can be added to one Tag field.
Delimiter: The character used to separate tags
Max Tags: The maximum amount of tags that can be added.
Store As: Determines how the tag data will be stored once submitted.
String (CSV)
Array of Tags
The Address component is a special component that performs an address lookup based on user input using several map and location providers as well as Custom Provider support. Address data can also be entered in free form and will save the address as well as geolocation and other metadata.
Enable Manual Mode: Checking this setting adds a checkbox under the Address field. Should the user check this, the address lookup through the location provider is disabled, and the traditional address field will display for manual input (Address, City, State, Zip etc)
Switch To Manual Mode Label: The label of the checkbox used for the 'Enable Manual Mode' setting.
Disable Clear Icon: Removes the 'x' clear icon found at the far right of the field. You may want to check this setting to prevent any users from accidentally clicking the icon.
Form.io is integrated with several Location and Map providers for fast and easy address lookup and geolocation data.
Azure Maps: Set up your own Azure Map account and provide the subscription key to enable this map provider.
Open Street Map Nominatim: Nominatim is a tool to search OSM data by name and address and to generate synthetic addresses of OSM points
Custom: Provides settings to integrate your own custom map provider.
Google Maps: Set up a Google Map API to utilize Google's location and map technology. Please see the documentation above for a full guide on integration setup with Form.io
Manual Mode View String: Specify the template to be used when querying the view string for component values entered in manual mode. This string is used in the table view, CSV export, and email rendering. When left blank combined value of all components joined with a comma will be used.
The Date/Time component is a powerful and flexible component that offers many options for validation, date ranges, and calculations using Moment.js.
Display In Timezone: This will display the captured date time in the selected timezone.
Of Viewer
Of Submission
Of Location
UTC
Use Local Settings: Use the Date/Time of your local machine
Allow Manual Input: Set by default, this setting will allow you to use your keyboard to input the value. When unchecked, the user will only be able to select the Date and Time from the calendar widget.
Format: The format the Date/Time will display in. By default, the format will be set to:
Use formats provided by DateParser Codes for more options
Enable Date Input: Enables selectable dates in the calendar widget and user input.
Disable Specific Dates: Blacklist certain dates by providing a date in the following format:
Custom Disabled Dates: Write Javascript to customize your disabled dates
Disable Weekends/Weekdays: Disables the selected days from the calendar picker.
Enable Time Input: Enable or Disable the time input.
Hour/Minute Increment: Change the increment value when selecting a time from the Calendar Widget using the increment buttons.
12 Hour Time (AM/PM): Display time in 12-hour time with AM/PM.
Flatpickr options: add new/override current Flatpickr options.
This field can be used to set the options of the Flatpickr library, which is used to create the datepicker widget. A full list of the options can be found here.
It can also be used to set a translation for the datepicker. To do so, the user has to provide a value to the locale
variable. In the following example, translation is set to French with the shorthand name of the locale:
A full list of the available locales and their shorthand names can be found here.
Default Date: Set a default Date and Time when a user renders the form. Utilize Moment.JS to set dynamic date ranges.
For example, this code will set the date to 10 days before the current date by default
Use Calendar To Set Min/Max Date: Click in the setting field to open a Calendar to pick the minimum or maximum date.
Use Moment.js To Set Min/Max Date: Check this if you would rather use Moment.js to set your dates rather than the calendar picker
The Day component is used to enter values for the Day, Month, and Year using a number or select type of field.
Hide Input Labels: Hide the labels of component inputs. Labels will be visible when using the Form Builder but hidden when the form is rendered.
Type of Input: Determines the type of input the user will use for the field:
Number - Number input that represents the field
Select - Select values representing the date option
Hidden: When checked, this specific field (day/month/year) will be hidden from the set of Day components. When a field is hidden, that value will be absent from the value as stored in the submission. For example, enabling Hidden on the component and entering January 2024 will be saved as 01/2024
.
Day First: When checked, the day field will display first from the set of Day components.
Placeholder: Text displayed inside the field and removed when there is user input.
Following the release of Form.io Enterprise 9.3.0, the value recorded for any unfilled field is an empty string (''). Prior to this release, empty fields were interpreted as '0'.
A stand-alone time field for manual input or a time selector widget.
Input Type: The type of widget the Time field will use:
HTML5, Text input with mask
Format: Set the formatting for the time when the Text input with mask setting is set.
Use the Currency component when a field needs to display monetary amounts. This component holds a numeric input mask that allows two decimal values and automatically adds commas as a user inputs a currency amount. The type of currency can also be selected which will change the prefix currency symbol.
Currency: The type of currency symbol and format the field will display when a user inputs into the field.
The Survey component works similarly to the Radio component. Instead of one question, users are able to select a value for multiple questions which are configured within the component settings. Survey is a great component to utilize when asking multiple questions with the same context of answers or values.
Questions: The questions presented to the user, displayed vertically in the left-hand column
Values: Values are the answer that can be selected for each question.
Tooltip: Add a tooltip to any of the Questions or Values to help better communicate with your users.
The Signature component allows the end-user to digitally sign a signature pad with either their finger on a touch-enabled device or with the mouse pointer. When the form is submitted, the Signature pad will be converted into an image and stored with the form submission.
Provider: This dropdown will determine what kind of Signature pad to use.
Default: Standard digital signature that can be signed upon form submission
Box Sign: Selecting Box Sign will allow you to set up an eSign workflow.
Click Here for more information