# Interface FormFieldElementJson

Defines how a field in the dataset participates in the form. See https://developers.arcgis.com/web-map-specification/objects/formFieldElement/.

interface FormFieldElementJson {
description?: string;
domain?: DomainJson;
editable?: boolean;
fieldName?: string;
inputType?:
| FormBarcodeScannerInputJson
| FormComboBoxInputJson
| FormDateTimePickerInputJson
| FormRadioButtonsInputJson
| FormSwitchInputJson
| FormTextAreaInputJson
| FormTextBoxInputJson;
label?: string;
requiredExpression?: string;
type: "field";
visibilityExpression?: string;
}

#####
Index

### Properties

description?
domain?
editable?
fieldName?
inputType?
label?
requiredExpression?
type
visibilityExpression?

##
Properties

### `Optional` description

description?: string

A string that describes the element in detail.

### `Optional` domain

domain?: DomainJson

The domain to apply to this field. If defined, it takes precedence over domains defined in field, type, or subtype.

### `Optional` editable

editable?: boolean

A Boolean determining whether users can edit this form element. If not supplied, the editable state is derived from the editable property of referenced field in the service.

### `Optional` fieldName

fieldName?: string

A string containing the field name as defined by the feature layer.

### `Optional` inputType

inputType?:
| FormBarcodeScannerInputJson
| FormComboBoxInputJson
| FormDateTimePickerInputJson
| FormRadioButtonsInputJson
| FormSwitchInputJson
| FormTextAreaInputJson
| FormTextBoxInputJson

The input user interface to use for the element. If an input type is not supplied or the client application does not understand the supplied input type, the client application is responsible for defining the default user interface.

### `Optional` label

label?: string

A string indicating what the element represents. If not supplied, the label is derived from the alias property in the referenced field in the service.

### `Optional` requiredExpression

requiredExpression?: string

A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true and the element is visible, the element must have a valid value in order for the feature to be created or edited. When the expression evaluates to false the element is not required. If no expression is provided, the default behavior is that the element is not required. If the referenced field is non-nullable, the required expression is ignored and the element is always required.

### type

type

A string indicating which type of element to use.

### `Optional` visibilityExpression

visibilityExpression?: string

A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true, the element is displayed. When the expression evaluates to false the element is not displayed. If no expression is provided, the default behavior is that the element is displayed. Care must be taken when defining a visibility expression for a non-nullable field i.e. to make sure that such fields either have default values or are made visible to users so that they can provide a value before submitting the form.