Number Form Element

The Number form element allows the user to select a number.

To use a Number element, the user types a number into the box. Alternatively, the user can click the arrows to increase or decrease the number. The box shows the currently selected number.

Example of the Number form element, shown in a viewer

See also...

Number Range Slider Form Element

Number Slider Form Element

Number Element Properties

The Properties table describes the properties of the Number form element.

The type of a property defines what types of values the property can have. Many properties are type string, which means that the property's value is text. Boolean properties can be true or false. Some properties have more than one possible type.

Property names in Workflow Designer's Properties panel are written using the capitalization and spacing of a title. Property names in expressions are valid JavaScript identifiers and start with a lower case letter.

In the table below:

Expressions are case sensitive. When you access a form element property in an expression, you must use the correct capitalization.

Properties of the Number Form Element

Accessible Description

Type: String

Name in Properties Panel: Accessible Description

Name to Use in Expressions: accessibleDescription

An accessible version of the description of the element. The accesible description is not visible on the page; it is hidden.

You can use the Accessible Description property to provide a description that can be used by assistive technologies, such as screen readers.

Description

Type: String

Name in Properties Panel: Description

Name to Use in Expressions: description

A description of the element. The description appears below the element's title.

You can use the Description property to describe what the element represents or to provide instructions to the user about how to use the element.

You can format the description using Markdown.

Default Value

Type: Number

The number that initially appears in the Number box. If you leave Default Value blank, the Number box will initially be blank.

If you leave Default Value blank and the user does not enter a value, the number will be null. To prevent a null number, make the number required.

Element ID

Type: String

The element's ID, which is used in other form elements and activities to access the element's properties, including the user's input. The ID must be unique across all elements in the form.

You cannot set the value of the Element ID property in an expression—you can only use the value that you configured for it. To use the Element ID property in an expression:

${Display Form ID}.state.{Element ID}.{property name}

For example:

$form1.state.number1.visible

Enabled

Type: Boolean

Name in Properties Panel: Enabled

Name to Use in Expressions: enabled

Indicates whether the Number element is enabled in the running workflow. When a Number element is enabled, the user can enter a number. When a Number element is disabled, the user can see the Number element, but cannot interact with it. Disabled elements appear dimmed or shaded in the running workflow.

By default, Number elements are enabled. To disable a Number element, clear the Enabled checkbox. You may want to change the property's value at run time depending on the user's input in a previous form element.

To access the enabled property in an expression:

${Display Form ID}.state.{Element ID}.enabled

For example:

$form1.state.number1.enabled

error

Type: String | MarkdownRef

Indicates whether an error occurred in the element.

We recommend using the Set Form Element Error and Clear Form Element Error activities to work with errors in form elements.

Maximum

Type: Number

The maximum value that the user can enter. If you leave Maximum blank, the maximum value will be JavaScript's maximum value.

Minimum

Type: Number

The minimum value that the user can enter. If you leave Minimum blank, the minimum value will be JavaScript's minimum value.

Placeholder Text

Type: String

Name in Properties Panel: Placeholder Text

Name to Use in Expressions: prompt

A hint to the user about how to use the Number. The hint appears inside the Number box. When the user starts typing in the Number box, the hint disappears.

To access the prompt property in an expression:

${Display Form ID}.state.{Element ID}.prompt

For example:

$form1.state.number1.prompt

Precision

Type: Number

The number of decimal digits to show, for example:

  • 0 shows integers (...-2, -1, 0, 1, 2...), for example, 154 or -12;

  • 1 shows one decimal place (...-0.2, -0.1, 0, 0.1, 0.2...), for example, 1.9 or -52.0;

    2 shows two decimal places (...-0.02, -0.01, 0, 0.01, 0.02...), for example, 94800.01 or -16.99;

    and so on.

  • -1 rounds to the nearest ten (...-20, -10, 0, 10, 20...), for example, 6040 or -330;

    -2 rounds to the nearest hundred (...-200, -100, 0, 100, 200...), for example, 42100 or -800;

    and so on.

Required

Type: Boolean

Name in Properties Panel: Required

Name to Use in Expressions: require

The Required checkbox is intended as a quick way to do simple validation without having to add a validate event. When you add a validate event, the Required check is not performed even if the checkbox is selected. To force the Required check to be performed when a validate event is configured, add a Propagate Form Event activity anywhere within the event's subworkflow.

Indicates whether the user must enter a number in the Number box. When the Number element is required, the user cannot submit the form until a number has been entered. .

By default, Number elements are not required. To require a Number element , select the Required checkbox.

To access the require property in an expression:

${Display Form ID}.state.{Element ID}.require

For example:

$form1.state.number1.require

Step Size

Type: Number

The amount by which the number in the Number box increases or decreases each time the user clicks the up arrow or down arrow .

If the Precision value is negative, the step size should be at least as big as the amount by which the Precision value rounds the number.

For example, if the Precision value is -2, the number will be rounded to the nearest hundred. If you set the step size to anything less than 100, the number will increase and decrease by 100.

styleName

Type: String

Indicates the name of the style that will be applied to the element.

To access the styleName property in an expression:

${Display Form ID}.state.{Element ID}.styleName

For example:

$form1.state.number1.styleName

Title

Type: String

Name in Properties Panel: Title

Name to Use in Expressions: title

The element's title, which appears at the top of the element. You may want to change the title to describe what the element represents in your workflow.

You can format the title using Markdown.

Title Location

Type: String

Name in Properties Panel: Title Location

Name to Use in Expressions: titleLocation

Specifies whether the element's title appears above (default) or beside the element.

The value must be either "above" or "beside".

Tooltip

Type: String

Name in Properties Panel: Tooltip

Name to Use in Expressions: tooltip

A message that displays when the user hovers the mouse pointer over the Number box. You may want to use the tooltip to provide help to the user.

type

Type: String

The variety of form element. Number elements are type "Number".

Use the type property to find out the variety of a form element in a form with many elements. Loop through ${Display Form ID}.state, comparing each element to the known form types and performing some action on the elements that meet your type criteria.

To access the type property in an expression:

${Display Form ID}.state.{Element ID}.type

For example:

$form1.state.number1.type

value

Type: NumberRef

An object of type NumberRef that represents the currently entered number. The object has a numeric property that is the number's value.

To access the value in an expression:

${Display Form ID}.state.{Element ID}.value.numeric

For example:

$form1.state.number1.value.numeric

Visible

Type: Boolean

Name in Properties Panel: Visible

Name to Use in Expressions: visible

Indicates whether the element is visible to the user. By default, Number elements are visible. If you want to hide the element, clear the Visible checkbox. You may want to change the visibility at run time depending on the user's input in a previous form element.

To access the visible property in an expression:

${Display Form ID}.state.{Element ID}.visible

For example:

$form1.state.number1.visible

Number Element Events

The following table describes the events associated with the Number form element. As in Workflow Designer, the events are listed in the order that they fire.

Events for the Number Form Element

load

The load event fires when the element finishes loading.

You can use the load event to set one or more of the element's properties at run time. For example, you could set the element's initial value.

change

The change event fires when the user clicks an arrow or clicks away from the Number box after changing the number in the box.

You can use the change event to create dependencies between form elements. For example, you could configure a change subworkflow that enables or disables other form elements depending on the user's input.

The change event fires every time the user's input changes by one Step Size. This means that the change subworkflow can run multiple times. Because of this, you should make sure that the change subworkflow is not computationally intensive or long running.

The details of the change event do not show in VertiGIS Studio Mobile.

validate

The validate event fires when the user clicks a button that causes validation.

You can use the validate event to verify that the user's input is valid before allowing the form to submit. If the input is not valid, use the Set Form Element Error activity to display an error to the user and prevent the form from submitting. If the input is valid, use the Clear Form Element Error activity to clear an existing error and allow the form to submit.

If you use a Set Form Element Error activity, make sure you also use a Clear Form Element Error activity to clear the error. Otherwise, the form may get stuck in an invalid state.

By default, the Required property does not work when the Number element has a validate event. If you want the workflow to perform the Required check, add a Propagate Form Event activity to the validate subworkflow. The Propagate Form Event activity instructs the workflow to perform the Required check after the validate subworkflow completes.

For an example, see Example - Subworkflow for a Validate Event.