Field Types

The following field types can be used on Identity Cloud forms:

  • Text input
  • Email
  • Password
  • Checkbox
  • Radio buttons
  • Select menu
  • Text area
  • Date select
  • Read-only
  • Hidden
  • multiIdentifierAuth

These field types are described in more detail in the following sections.

Text input (text)

Field for entering a single line of text. For example:

In a flow, a fully-configured text input field might look something like this:

{
  "type": "text",
  "name": "myCustomTextField",
  "schemaAttribute": "displayName",
  "label": {
    "key": "b6ced670-7140-4446-9839-da3474860b1a"
  },
  "tip": {
    "key": "8b93448a-6f00-448c-952b-0f1536107cf7"
  },
  "socialProfileData": "profile.displayName",
  "placeholder": "6e15067b-2ca5-43c3-af96-930766d63375",
  "validation": [
    {
      "rule": "required",
      "value": true,
      "message": {
        "key": "bb2b21a1-98df-4dce-84f7-534013c46225"
      }
    },{
      "rule": "unique",
      "value": true,
      "message": {
        "key": "63f7c18f-521a-4b4f-94c4-0b04b870c82e"
      }
    }
  ]
}

Email

Text field for entering email addresses. Email fields typically include a validation rule for verifying that the entered data at least looks like an email address (e.g., karim.nafir@mail.com). For example:

In a flow, a fully-configured email field might look something like this:

{
  "type": "email",
  "name": "myCustomEmailField",
  "schemaAttribute": "email",
  "label": {
    "key": "b6ced670-7140-4446-9839-da3474860b1a"
  },
  "tip": {
    "key": "8b93448a-6f00-448c-952b-0f1536107cf7"
  },
  "socialProfileData": "profile.email",
  "placeholder": "6e15067b-2ca5-43c3-af96-930766d63375",
  "validation": [
    {
      "rule": "required",
      "value": true,
      "message": {
        "key": "bb2b21a1-98df-4dce-84f7-534013c46225"
      }
    }
  ]
}

Password

Text field where the characters are “masked” to help guard against someone glancing over your shoulder and seeing what you have entered. For example:

In a flow, a fully-configured password field might look something like this:

{
  "type": "password",
  "name": "myCustomPasswordField",
  "schemaAttribute": "password",
  "label": {
    "key": "b6ced670-7140-4446-9839-da3474860b1a"
  },
  "tip": {
    "key": "8b93448a-6f00-448c-952b-0f1536107cf7"
  },
  "placeholder": "6e15067b-2ca5-43c3-af96-930766d63375",
  "validation": [
    {
      "rule": "minLength",
      "value": 16,
      "message": {
        "key": "bb2b21a1-98df-4dce-84f7-534013c46225"
      }
    },{
      "rule": "match",
      "value": "myCustomPasswordConfirmField",
      "message": {
        "key": "63f7c18f-521a-4b4f-94c4-0b04b870c82e"
      }
    }
  ]
}

Checkbox

Enables users to select one or more items from a set of options; also used with yes/no or true/false values. For example:

In a flow, a fully-configured checkbox field might look something like this:

{
  "type": "checkbox",
  "name": "myCustomCheckboxField",
  "schemaAttribute": "optIn.status",
  "label": {
    "key": "b6ced670-7140-4446-9839-da3474860b1a"
  },
  "tip": {
    "key": "8b93448a-6f00-448c-952b-0f1536107cf7"
  },
  "preChecked": true,
  "submitValue": "yes",
  "validation": [
    {
      "rule": "required",
      "value": true,
      "message": {
        "key": "bb2b21a1-98df-4dce-84f7-534013c46225"
      }
    }
  ]
}

Radio buttons

Limits users to selecting a single item from a set of options. For example:

In as flow, a fully-configured radio button field might look something like this:

{
  "type": "radio",
  "name": "myCustomRadioField",
  "schemaAttribute": "favorites.breakfastFood",
  "label": {
    "key": "b6ced670-7140-4446-9839-da3474860b1a"
  },
  "tip": {
    "key": "8b93448a-6f00-448c-952b-0f1536107cf7"
  },
  "options": [
    {
      "selected": true,
      "label": {
        "key": "8a8508aa-f939-472b-bad2-59f6c0089a60"
      },
      "value": "waffles"
    },
    {
      "label": {
        "key": "c8050744-9b1d-4360-89e7-b37802d59c4a"
      },
      "value": "pancakes"
    }
  ],
  "validation": [
    {
      "rule": "required",
      "value": true,
      "message": {
        "key": "bb2b21a1-98df-4dce-84f7-534013c46225"
      }
    }
  ]
}

Select menu

Also known as a “dropdown list,” enables users to select one or more items from a specified set of options. For example:

In a flow, a fully-configured select field might look something like this:

{
  "type": "select",
  "name": "myCustomSelectField",
  "schemaAttribute": "favorites.lunchFood",
  "label": {
    "key": "b6ced670-7140-4446-9839-da3474860b1a"
  },
  "tip": {
    "key": "8b93448a-6f00-448c-952b-0f1536107cf7"
  },
  "options": [
    {
      "selected": true,
      "label": {
        "8a8508aa-f939-472b-bad2-59f6c0089a60"
      },
      "value": "hotdogs"
    },
    {
      "label": {
        "c8050744-9b1d-4360-89e7-b37802d59c4a"
      },
      "value": "hamburgers"
    }
  ],
  "validation": [
    {
      "rule": "required",
      "value": true,
      "message": {
        "key": "bb2b21a1-98df-4dce-84f7-534013c46225"
      }
    }
  ]
}

Text area

Multiline text control that can contain an essentially unlimited number of characters. For example:

In a flow, a fully-configured text area field might look something like this:

{
  "type": "textarea",
  "name": "myCustomTextareaField",
  "schemaAttribute": "profileBlurb",
  "label": {
    "key": "b6ced670-7140-4446-9839-da3474860b1a"
  },
  "tip": {
    "key": "8b93448a-6f00-448c-952b-0f1536107cf7"
  },
  "socialProfileData": "profile.aboutMe",
  "placeholder": "6e15067b-2ca5-43c3-af96-930766d63375",
  "validation": [
    {
      "rule": "maxLength",
      "value": 500,
      "message": {
        "key": "bb2b21a1-98df-4dce-84f7-534013c46225"
      }
    }
  ]
}

Date select

Control that enables users to point and click in order to select a date (and/or a time). For example:

In a flow, a fully-configured date select field might look something like this:

{
  "name": "birthdate",
  "schemaAttribute": "birthday",
  "type": "dateselect",
  "label": {
    "key": "8122c314a4e9d558f6d3eedfb2446376"
  },
  "yearLabel": {
    "key": "acb8b9cedb63cb5930bae0fb1c2d50cc"
  },
  "monthLabel": {
    "key": "ace9326798de56c595568a7a4141972c"
  },
  "dayLabel": {
    "key": "6f44a1db770c928b0d40bb980548f43d"
  },
  "monthNames": [
    {
      "key": "66fcba24722d94d03167df4d29a3fcde"
    },{
      "key": "eec9c536de325f7f66669a7a61a55fc0"
    },{
      "key": "b8a35f47cfde6c15643c74804f9a6421"
    },{
      "key": "399c58387be99853b53ffc4f778814ab"
    },{
      "key": "ab66d779cf23720afbc4f2c49a296728"
    },{
      "key": "9089a6c3cc7b9d447c5aa870a38a49bf"
    },{
      "key": "24ea0188feb2be9c0a6fc0fffa329009"
    },{
      "key": "f814c7e7884980bfbe637bc8b7d5a798"
    },{
      "key": "cbbd277bc1b7f3034d4b8a5fc7c0a717"
    },{
      "key": "17ef13bbd9bd987fc16b4a26665e99ce"
    },{
      "key": "dd1b34fbac69ea3440260d0b25f660ea"
    },{
      "key": "368ace206c6cd848a8eb028fcf44a895"
    }
  ],
  "validation": [
    {
      "rule": "required",
      "value": true,
      "message": {
        "key": "bb2b21a1-98df-4dce-84f7-534013c46225"
      }
    },{
      "rule": "minYears",
      "value": 18,
      "message": {
        "key": "63f7c18f-521a-4b4f-94c4-0b04b870c82e"
      }
    }
  ]
}

Read-only

Text field where users can see the assigned values but cannot change those values. For example:

Hidden

Field (either a text field or a checkbox) that is a valid form field but is neither visible to nor editable by the end user.

In a flow, a fully-configured hidden field might look something like this:

"optIn_hidden": { 
    "element": "input", 
    "forms": [ 
        "communicationPreferencesForm", 
        "registrationForm" 
    ], 
    "schemaId": "optIn.status", 
    "shouldUpdate": false, 
    "type": "hidden", 
    "value": "null" 
}

multiIdentifierAuth

Enables you to associate a single field with multiple schema attributes (specified in the schemaID); this is typically done for authentication purposes. For example, a form could give users the option of signing in using either their email address or their display name; the multiIdentifierAuth field would then reference both the email and the displayName schema attributes.

Note that all the referenced schema attributes must be configured as unique attributes.

In a flow, a fully-configured multiIdentifierAuth field might look something like this:

"signInEmailAddressOrLoyaltyCard": {
    "element": "capture",
    "forms": [
        "signInForm"
    ],
    "label": "4aed2d5a90f4a37ada7a314f02d97094",
    "placeholder": "4aed2d5a90f4a37ada7a314f02d97094",
    "schemaId": {
        "email": "email",
        "username": "displayName"
    },
    "type": "multiIdentifierAuth"
}