Skip To ContentArcGIS for DevelopersSign In Dashboard
require(["esri/widgets/FeatureForm/FieldConfig"], function(FieldConfig) { /* code goes here */ });
Class: esri/widgets/FeatureForm/FieldConfig
Inheritance: FieldConfig Accessor
Subclasses: FieldColumnConfig
Since: ArcGIS API for JavaScript 4.9

Configuration options for displaying an individual field within the FeatureForm widget. It is possible to configure individual or grouped fields for display. For an example of individual field configurations, please refer to the Update FeatureLayer using ApplyEdits sample.

Starting with version 4.16, the preferred way to set the field or grouped field configurations is via FieldElement(s) or GroupElement(s) set within the form's template.

The field configuration settings take precedence over any FieldElement(s) that may be set within the form's template. The fieldConfigs property will be fully deprecated at a future release in favor of setting elements within the form's template.

See also:
Example:
const featureForm = new FeatureForm({
  container: "formDiv", // HTML div
  layer: featureLayer, // Pass in feature layer
  // Configure fields to display
  fieldConfig: [{
    name: "Incident_desc",
    label: "Description"
  },
  {
    name: "Incident_Address",
    label: "Contact"
  }]
});

Constructors

new FieldConfig(properties)
Parameter:
properties Object
optional

See the properties for a list of all the properties that may be passed into the constructor.

Example:
const fieldConfig = new FieldConfig({
  name: "IncidentType",
  label: "Choose incident type"
});

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
NameTypeSummaryClass
String

The name of the class.

more details
more detailsAccessor
String

The field's description.

more details
more detailsFieldConfig
CodedValueDomain|RangeDomain

The field's domain.

more details
more detailsFieldConfig
Boolean

Indicates whether the field can be edited.

more details
more detailsFieldConfig
String

The type of editor to use for string field types.

more details
more detailsFieldConfig
String

This property is rendered as a tooltip in the FeatureForm widget.

more details
more detailsFieldConfig
String

The field's label.

more details
more detailsFieldConfig
Number

Restricts the input length.

more details
more detailsFieldConfig
Number

Restricts the input length.

more details
more detailsFieldConfig
String

The field name.

more details
more detailsFieldConfig
Boolean

Indicates whether the field is required.

more details
more detailsFieldConfig
String

A reference to an Arcade expression that returns a boolean value.

more details
more detailsFieldConfig
String

A reference to an Arcade expression that returns a boolean value.

more details
more detailsFieldConfig

Property Details

declaredClass Stringreadonly inherited

The name of the class. The declared class name is formatted as esri.folder.className.

description String
Since: ArcGIS API for JavaScript 4.10

The field's description. The description is shown below the field.

Since: ArcGIS API for JavaScript 4.10

The field's domain. This is used to constrain the allowable values of the layer.

This only applies to relevant field types. For example, RangeDomain only applies to numeric and date field types.

editable Boolean
Since: ArcGIS API for JavaScript 4.10

Indicates whether the field can be edited.

This does not change the underlying service's field and whether it can be edited.

Default Value:true
editorType String
Since: ArcGIS API for JavaScript 4.10

The type of editor to use for string field types. Possible values are in the table below. Starting with version 4.16, the preferred way to set the editor type is via TextAreaInput or TextBoxInput classes set within the field element of a FeatureForm's template.

ValueDescription
text-boxAn HTML textbox will be used to capture input.
text-areaAn HTML textarea will be used to capture input.

Possible Values:"text-box"|"text-area"

Default Value:"text-box"
hint String
Since: ArcGIS API for JavaScript 4.10

This property is rendered as a tooltip in the FeatureForm widget. It displays a hint for the attribute field's value.

label String
Since: ArcGIS API for JavaScript 4.10

The field's label. The label is shown above the field.

maxLength Number
Since: ArcGIS API for JavaScript 4.10

Restricts the input length.

This only applies to numeric and text field types.

Default Value:-1
minLength Number
Since: ArcGIS API for JavaScript 4.16

Restricts the input length.

This only applies to numeric and text field types.

Default Value:-1
name String

The field name.

required Boolean
Since: ArcGIS API for JavaScript 4.10

Indicates whether the field is required.

This cannot change the underlying service's field requirements.

Default Value:false
requiredExpression String
Since: ArcGIS API for JavaScript 4.16

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.

visibilityExpression String
Since: ArcGIS API for JavaScript 4.11

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.

This only affects how the field is rendered. It does not have any impact on the attribute's values.

Default Value:null
Example:
// Array of two field configurations.
// The first one displays the feature's status whereas
// the second one only displays if the resolution of
// the issue if the status is "Completed"
// and the resolution value is not null.

fieldConfig: [{
  name: "status",
  editable: false, // not an editable field
  label: "Issue status",
  description: "E.g. submitted, received, in progress, or completed."
},{
  name: "resolution",
  label: "Resolution",
  editable: false,
  description: "Resolution if status is 'Completed'",
  visibilityExpression: "($feature.status == 'Completed') && (!(IsEmpty($feature.resolution)))"
}]

API Reference search results

NameTypeModule
Loading...