Back to Tooljet

Number Input

docs/versioned_docs/version-3.0.0-LTS/widgets/number-input.md

3.20.154-lts11.0 KB
Original Source

The Number Input component allows users to enter numeric values. It can be used as a standalone component or in form fields. In this document, we'll go through all the configuration options for the Number Input component.

<div style={{paddingTop:'24px'}}>

Properties

<div style={{ width:"100px"}}> Property </div><div style={{ width:"150px"}}> Description </div><div style={{ width:"250px"}}> Expected Value </div>
LabelText to display as the label for the field.String (e.g., Age).
PlaceholderA hint displayed to guide the user on what to enter.String (e.g., John Doe).
Default valueThe default value that the component will hold when the app is loaded.String (e.g., Default Text).
Decimal placesSpecifies the number of decimal places for numerical values.Integer (e.g., 2).
</div> <div style={{paddingTop:'24px'}}>

Events

EventDescription
On changeTriggers whenever the user types something in the input field.
On focusTriggers whenever the user clicks inside the input field.
On blurTriggers whenever the user clicks outside the input field.
On enter pressedTriggers whenever the user presses the enter button on the keyboard after entering some text in the input field.

:::info Check Action Reference docs to get detailed information about all the Actions. :::

</div> <div style={{paddingTop:'24px'}}>

Component Specific Actions (CSA)

Following actions of component can be controlled using the component specific actions(CSA):

<div style={{ width:"100px"}}> Action </div><div style={{ width:"135px"}}> Description </div><div style={{width: "200px"}}> How To Access </div>
setText()Sets the value of the input field.Employ a RunJS query (for e.g.,
await components.numberinput1.setText(1)) or trigger it using an event.
clear()Clears the entered text in the input field.Employ a RunJS query (for e.g.,
await components.numberinput1.clear()) or trigger it using an event.
setFocus()Sets the focus of the cursor on the input field.Employ a RunJS query (for e.g.,
await components.numberinput1.setFocus()) or trigger it using an event.
setBlur()Removes the focus of the cursor from the input field.Employ a RunJS query (for e.g.,
await components.numberinput1.setBlur()) or trigger it using an event.
setVisibility()Sets the visibility of the component.Employ a RunJS query (for e.g.,
await components.numberinput1.setVisibility(false)) or trigger it using an event.
setLoading()Sets the loading state of the component.Employ a RunJS query (for e.g.,
await components.numberinput1.setLoading(true)) or trigger it using an event.
setDisable()Disables the component.Employ a RunJS query (for e.g.,
await components.numberinput1.setDisable(true)) or trigger it using an event.

:::info Check the component specific actions available for this component here. :::

</div> <div style={{paddingTop:'24px'}}>

Exposed Variables

VariableDescriptionHow To Access
<div style={{ width:"100px"}}> value </div>Holds the value entered by the user in the component.Accessible dynamically with JS (for e.g., {{components.numberinput1.value}}).
<div style={{ width:"100px"}}> label </div>Holds the value of the component's label.Accessible dynamically with JS (for e.g., {{components.numberinput1.label}}).
<div style={{ width:"100px"}}> isValid </div>Indicates if the input meets validation criteria.Accessible dynamically with JS (for e.g., {{components.numberinput1.isValid}}).
<div style={{ width:"100px"}}> isMandatory </div>Indicates if the field is required.Accessible dynamically with JS (for e.g., {{components.numberinput1.isMandatory}}).
<div style={{ width:"100px"}}> isLoading </div>Indicates if the component is loading.Accessible dynamically with JS (for e.g., {{components.numberinput1.isLoading}}).
<div style={{ width:"100px"}}> isVisible </div>Indicates if the component is visible.Accessible dynamically with JS (for e.g., {{components.numberinput1.isVisible}}).
<div style={{ width:"100px"}}> isDisabled </div>Indicates if the component is disabled.Accessible dynamically with JS (for e.g., {{components.numberinput1.isDisabled}}).
</div> <div style={{paddingTop:'24px'}}>

Validation

<div style={{ width:"100px"}}> Validation Option </div><div style={{ width:"200px"}}> Description </div><div style={{width: "200px"}}> Expected Value </div>
Make this field mandatoryDisplays a 'Field cannot be empty' message if no value is entered.Enable/disable the toggle button or dynamically configure the value by clicking on fx and entering a logical expression.
RegexRegular Expression to validate the input.Regular Expression Pattern (e.g., ^\d{10}$).
Min valueSets the minimum value allowed.Integer (e.g., 10 for a minimum value of 10).
Max valueSets the maximum value allowed.Integer (e.g., 1000 for a maximum value of 1000).
Custom validationSpecifies a validation error message for specific conditions.Logical Expression (e.g., {{components.numberinput1.value<5&&"Value needs to be more than 5"}}).

To add regex inside Custom Validation, you can use the below format:

Format: {{(<regexPattern>.test(<value>)) ? '' : 'Error message';}}

Example: {{(/^\d{1,10}$/.test(components.numberinput1.value)) ? '' : 'Error message';}}

</div> <div style={{paddingTop:'24px'}}>

Additional Actions

<div style={{ width:"100px"}}> Action </div><div style={{ width:"150px"}}> Description </div><div style={{ width:"250px"}}> Configuration Options </div>
Loading stateEnables a loading spinner, often used with isLoading to indicate progress. Toggle or set dynamically.Enable/disable the toggle button or dynamically configure the value by clicking on fx and entering a logical expression.
VisibilityControls component visibility. Toggle or set dynamically.Enable/disable the toggle button or dynamically configure the value by clicking on fx and entering a logical expression.
DisableEnables or disables the component. Toggle or set dynamically.Enable/disable the toggle button or dynamically configure the value by clicking on fx and entering a logical expression.
TooltipProvides additional information on hover. Set a string value for display.String (e.g., Enter your age here. ).
</div> <div style={{paddingTop:'24px'}}>

Devices

<div style={{ width:"100px"}}> Property </div><div style={{ width:"150px"}}> Description </div><div style={{ width:"250px"}}> Expected Value </div>
Show on desktopMakes the component visible in desktop view.You can set it with the toggle button or dynamically configure the value by clicking on fx and entering a logical expression.
Show on mobileMakes the component visible in mobile view.You can set it with the toggle button or dynamically configure the value by clicking on fx and entering a logical expression.
</div>

Styles

<div style={{paddingTop:'24px'}}>

Label

<div style={{ width:"100px"}}> Label Property </div><div style={{ width:"150px"}}> Description </div><div style={{ width:"250px"}}> Configuration Options </div>
TextSets the color of the component's label.Select the color or click on fx and input code that programmatically returns a Hex color code.
AlignmentSets the position of the label and input field.Click on the toggle options or click on fx to input code that programmatically returns an alignment value - side or top.
WidthSets the width of the input field.Keep the Auto width option for standard width or deselect it to modify the width using the slider or through code entry in fx that returns a numeric value.
</div> <div style={{paddingTop:'24px'}}>

Field

<div style={{ width:"100px"}}> Field Property </div><div style={{ width:"150px"}}> Description </div><div style={{ width:"250px"}}> Configuration Options </div>
BackgroundSets the background color of the component.Select the color or click on fx and input code that programmatically returns a Hex color code.
BorderSets the border color of the component.Select the color or click on fx and input code that programmatically returns a Hex color code.
TextSets the color of the number entered in the component.Select the color or click on fx and input code that programmatically returns a Hex color code.
Error textSets the text color of validation message that displays.Select the color or click on fx and input code that programmatically returns a Hex color code.
IconAllows you to select an icon for the component.Enable the icon visibility, select icon and icon color. Alternatively, you can programmatically set it using fx.
Border radiusModifies the border radius of the component.Enter a number or click on fx and enter a code that programmatically returns a numeric value.
Box shadowSets the box shadow properties of the component.Select the box shadow color and adjust the related properties or programmatically set it using fx.
</div> <div style={{paddingTop:'24px'}}>

Container

Padding

Allows you to maintain a standard padding by enabling the Default option.

</div>