All Collections
Cloud
Marketplace
Solodev Buildspec field types
Solodev Buildspec field types
Customize your form questions, format your UI, and manage different types of responses with Buildspec field types.
Matthew Garrepy avatar
Written by Matthew Garrepy
Updated over a week ago

Field types

Field types are different kinds of question formats that a user can assign to a form. The type section controls how the questions are formatted in the UI as well as the types of responses that are expected or required.

Available formats include:

  • hidden – No field will be shown in the UI, but the value will be stored in the form.

  • string – A textbox will be shown in the UI to capture the answer, and the answer will be formatted to a string.

  • clob – A text area will be shown in the UI to capture the answer, and the answer will be formatted to a multiline string.

  • email – Behaves just like a string type, but with e-mail address validation.

  • password – A password style of textbox will be shown in the UI to capture the answer, and the value will be dotted and formatted to a string.

  • url – Behaves just like a string type, but with the URL validation.

  • boolean – A checkbox will be shown in the UI to capture the answer, and the answer will be entered as true if the checkbox is selected or false otherwise.

  • enum – A dropdown menu will be shown in the UI and the options section will be populated in the menu. The multiple option set to true will enable a multiple choice type of a drop-down, while the expanded option set to true will change the dropdown into a radio button group.

  • color – A color picker will be shown in the UI to capture the answer, and the answer will be formatted to the string with a # sign at the beginning.

  • date – A date picker will be shown in the UI to capture the answer, and the value will be formatted to the string.

  • tel – Behaves just like a string type, but with telephone number validation (ie. digits and dashes).

  • datetime – A date-time picker will be shown in the UI to capture the answer, and the value will be formatted to the string.

  • time – A time picker will be shown in the UI to capture the answer, and the value will be formatted to the string.

  • integer – A number picker will be shown in the UI to capture the answer, and the value will be validated to confirm if it is an integer.

  • money – Behaves just like a string type but with number validation and a $ sign that precedes the textbox.

  • number – Behaves just like a string type but with number validation.

  • percent – Behaves just like a string type but with number validation and a % sign that follows the textbox.

Here's an example of a complete Buildspec with field types:

form:
- id: secretToken
type: hidden
hideLabel: true
- id: name
type: string
label: My Name
description: Test description for the name field
required: true
autofocus: true
- id: description
type: clob
label: Description
description: Test description for the description field
required: false
- id: email
type: email
label: Email
description: Give me your email so that I may spam you
required: true
- id: password
type: password
label: Password
description: I want access to all your data
required: false
- id: website
type: url
label: Web site
description: What is your website?
- id: blahEnabled
type: boolean
label: Blah Enabled?
- id: favoriteFood
type: enum
placeholder: -- Please choose one --
options:
expanded: false
multiple: false
choices:
American: american
Chinese: chinese
French: french
German: german
Italian: italian
Japanese: japanese
Korean: korean
Other: other
Polish: polish
label: Favorite Food
description: What's your favorite type of food?
required: true
- id: favoriteColor
type: color
label: Favorite Color
description: What's your favorite color?
- id: dob
type: date
label: Date of Birth
description: When did you awake from the eternal sleep?
- id: homePhone
type: tel
label: Home Phone
description: >
I need your home phone so that I can sell this to robocall
companies.
placeholder: ex. 555-555-1234
- id: expiration
type: datetime
label: Expiration Date
description: >
I'm not sure what is expiring but at least
tell me when it should.
placeholder: yyyy-MM-dd HH:mm:ss
- id: bestTime
type: time
label: Best Time
description: >
What time of the day is the "best time"?
- id: numCars
type: integer
label: Number of Cars
description: >
Tell me how many cars you own so I can sell
this information to auto dealers.
placeholder: ex. 2
- id: salary
type: money
label: Annual Salary
description: >
Tell me your salary so can I sell this
information to sleeze finance types.
- id: randomNumber
type: number
label: Random Number
description: >
Pick a number game. Can you guess it?
You won't win anything regardless.
- id: testPct
type: percent
label: Chance of Escape
description: >
What do you think your chances are of
getting out alive? (creepy)

Did this answer your question?