Free cookie consent management tool by TermsFeed Radio Button Component (a!radioButtonField)
Radio Button Component

Function

a!radioButtonField( label, instructions, required, disabled, choiceLabels, choiceValues, value, validations, saveInto, validationGroup, requiredMessage, labelPosition, choiceLayout, helpTooltip, accessibilityText, showWhen, choiceStyle, spacing, data, sort )

Displays a limited set of choices from which the user must select one item and saves a value based on the selected choice. To save the index instead of a value, use radio buttons by index.

If the choice is not exclusive, then consider using checkboxes or a multiple dropdown component.

If there are many choices, make the component as large as necessary to display all the options. If a more compact presentation is desirable, consider using a dropdown component.

Parameters

Name Keyword Types Description

Label

label

Text

Text to display as the field label.

Instructions

instructions

Text

Supplemental text about this field.

Required

required

Boolean

Determines if a value is required to submit the form. Default: false.

Disabled

disabled

Boolean

Determines if the field should display as potentially editable but grayed out. Default: false.

Choice Labels

choiceLabels

List of Variant

Array of options for the user to select. When the data source is a record type, this is a record field or related record field.

Choice Values

choiceValues

List of Variant

Array of values associated with the corresponding choices. When the data source is a record type, this is a record field (usually the primary key field).

Display Value

value

Any Type

Value of choice to display as selected.

Validations

validations

List of Text String

Validation errors to display below the field when the value is not null.

Save Input To

saveInto

List of Save

One or more variables that are updated with the choice value when the user changes the selection. Use a!save() to save a modified or alternative value to a variable.

Validation Group

validationGroup

Text

When present, the requiredness of the field is only evaluated when a button in the same validation group is pressed. The value for this parameter cannot contain spaces. For example, “validation group” is not a valid value. You need to add an underscore between words: “validation_group”. See the following recipes for more information:

Required Message

requiredMessage

Text

Custom message to display when the field's value is required and not provided.

Label Position

labelPosition

Text

Determines where the label appears. Valid values:

  • "ABOVE" (default) Displays the label above the component.
  • "ADJACENT" Displays the label to the left of the component.
  • "COLLAPSED" Hides the label. The label will still be read by screen readers; see accessibility considerations for more information.
  • "JUSTIFIED" Aligns the label alongside the component starting at the edge of the page.

Choice Layout

choiceLayout

Text

Determines the layout. Valid values: "STACKED" (default), "COMPACT".

Help Tooltip

helpTooltip

Text

Displays a help icon with the specified text as a tooltip. The tooltip displays a maximum of 500 characters. The help icon does not show when the label position is "COLLAPSED".

Accessibility Text

accessibilityText

Text

Additional text to be announced by screen readers. Used only for accessibility; produces no visible change.

Visibility

showWhen

Boolean

Determines whether the component is displayed on the interface. When set to false, the component is hidden and is not evaluated. Default: true.

Choice Style

choiceStyle

Text

Determines how the choices should be displayed on the interface. Valid values: "STANDARD" (default), "CARDS".

Spacing

spacing

Text

Determines the space between the options. Valid values: "STANDARD" (default), "MORE", "EVEN_MORE".

Data

data

Any

The record type used as the source of the component's choices. This can be specified with a record type reference or a!recordData().

Sort

sort

List of SortInfo

Array of Sort Info configurations created with a!sortInfo().

Usage considerations

Using the choiceLayout parameter

  • The "COMPACT" option for choiceLayout should only be used for radio buttons with short choice labels, such as "Yes", "No", or "Maybe". When using the "COMPACT" option, labels with text longer than 2 lines will be truncated.
  • For long labels, use the "STACKED" option for choiceLayout.

Using the choiceLabels and choiceValue parameters

When you select a record type in design mode, the Choice Labels and Choice Values are automatically populated with record field references. By default, the labels will be the first text field from the record type, and the values will be the primary key field.

If you select the Other option, you need to configure these parameters manually. As you configure them, keep the following points in mind:

  • Choices display in the order defined in the Choice Labels.
  • The Choice Labels cannot be null.
  • Choice Values cannot contain nulls or duplicate values.
  • The Choice Labels list and Choice Values list must be the same length.

These rules also apply when using data from a record type, except that choice order is determined by any sorting applied in the Sort section. If no sorting rules are configured, the choices are displayed in ascending order of the Choice Values field.

Examples

Use the interactive editor below to test out your code:

Radio Button with first choice selected by default

Radio Buttons with compact layout and cards style

Radio button with choices from a record type

In this example, the component's choices are retrieved from a reference record type that contains the industries your customer's represent. choiceLabels uses the name field and the corresponding choiceValues are set using the record type's primary key field, id.

1
2
3
4
5
6
7
8
a!radioButtonField(
  data: recordType!AT Industry,
  choiceLabels: recordType!AT Industry.fields.name,
  choiceValues: recordType!AT Industry.fields.id,
  label: "Industry",
  value: ri!record[recordType!AT Customer.fields.districtId],
  saveInto: ri!record[recordType!AT Customer.fields.districtId],
)

Feature compatibility

The table below lists this SAIL component's compatibility with various features in Appian.
Feature Compatibility Note
Portals Compatible
Offline Mobile Compatible
Sync-Time Custom Record Fields Incompatible
Real-Time Custom Record Fields Incompatible

Custom record fields that evaluate in real time must be configured using one or more Custom Field functions.

Process Reports Incompatible

Cannot be used to configure a process report.

Process Events Incompatible

Cannot be used to configure a process event node, such as a start event or timer event.

Old versions

There are older versions of this interface component. You can identify older versions by looking at the name to see if there is a version suffix. If you are using an old version, be sure to refer to the corresponding documentation from the list below.

Old Versions Reason for Update
a!radioButtonField_23r3

Added the ability to use record field values as radio button choices.

To learn more about how Appian handles this kind of versioning, see the Function and Component Versions page.

The following patterns include usage of the Radio Button Component.

  • Inline Survey (Radio Buttons, Checkboxes, Buttons): Use this pattern to create a clean and easy to navigate survey.
Open in Github Built: Wed, Apr 24, 2024 (06:53:23 PM)

Radio Button Component

FEEDBACK