> For the complete documentation index, see [llms.txt](https://docs.dapta.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.dapta.ai/dforms/builder/question-types/text-and-slider-fields.md).

# Text & scale fields: Short text, Long text, Website, Slider

The four free-form question types in dForms: Short text, Long text, Website and Slider. Learn how placeholders work, how to set a minimum and maximum length on Long text, how the Website field validat

These four types live in the **Text** group of the question gallery. Use **Short text** for a one-line answer, **Long text** for a paragraph, **Website** for a validated web address and **Slider** for a number on a scale. This page covers the settings each one offers and what respondents see.

***

**Step 1:** In the editor, click **Add question** under the canvas. In the **Add a question** dialog, look at the **Text** group: **Short text** (One line), **Long text** (Paragraph), **Website** (Validated URL) and **Slider** (Rating scale). Click a tile to drop that question into your form.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-3fc00fd25bc100da3b2a101dfa9c478446441184%2Fforms-text-and-slider-fields-01-gallery-text-group.png?alt=media" alt="The Add a question dialog with the Text group highlighted: Short text, Long text, Website and Slider"><figcaption><p>The <strong>Text</strong> group of the question gallery.</p></figcaption></figure>

> **💡 Tip:** You can change the type later. In **Question settings**, open the **Question type** select and pick another type. The question keeps its place in the list.

***

## Short text and Long text

**Short text** shows a single-line input. **Long text** shows a multi-line box for longer answers. Both store exactly what the respondent typed.

**Step 2:** Select the question in the **Questions** list. Type the question on the canvas (**Type your question…**) and, if you want, a helper line (**Add a description (optional)**). In **Question settings**, fill in **Placeholder**: the ghost text shown inside the empty input. The canvas updates as you type.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-4818b4292accf3d0cd894e0535edf5181f0aa71b%2Fforms-text-and-slider-fields-02-short-text-placeholder.png?alt=media" alt="A Short text question on the canvas with the Placeholder field highlighted in Question settings and the ghost text visible inside the input"><figcaption><p>The <strong>Placeholder</strong> appears inside the input on the canvas and in the live form.</p></figcaption></figure>

What you can set on both types:

| Setting             | Where                              | What it does                                                                                                                         |
| ------------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| **Required**        | Question settings                  | On by default. Respondents cannot continue with an empty answer.                                                                     |
| **Placeholder**     | Question settings                  | Ghost text shown inside the input while it is empty. Leave empty for none.                                                           |
| **Default answer**  | Advanced settings                  | Pre-fills the answer when the link carries no value for this field. A value in the URL always wins over it.                          |
| **Field key**       | Advanced settings                  | The name the answer is stored under, the URL parameter that prefills it, and the token you type between brackets to recall it later. |
| **Hidden question** | Advanced settings                  | Hides the question and fills it from a matching URL parameter.                                                                       |
| **Answer length**   | Question settings (Long text only) | **Minimum characters** and **Maximum characters** for the answer. See below.                                                         |

Neither type can award points. If you need a scored answer, use a choice question or a slider.

> **💡 Tip:** Long text is a good place to ask an open question such as "Anything else we should know?". Because it is **Required** by default, turn **Required** off if you want it to be optional.

### Answer length (Long text)

A **Long text** question has an **Answer length** section with two boxes: **Minimum characters** and **Maximum characters**, each from 1 to 10,000. Fill in one or both; leave a box empty to drop that end. With both empty, the question has no length rule and shows no counter.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-932d5bc19dcc556e4823039c215966f76d243bb8%2Fforms-text-and-slider-fields-07-answer-length.png?alt=media" alt="The Answer length section of a Long text question with Minimum characters 50 and Maximum characters 500"><figcaption><p><strong>Answer length</strong> appears only on <strong>Long text</strong>.</p></figcaption></figure>

What respondents see once a limit is set:

* A live counter under the box, for example *32 characters*, or *32 / 500* when there is a maximum. While the answer is under the minimum, the counter adds the minimum, as in *32 / 500 · 50 minimum*.
* The box stops accepting text at the maximum.
* Trying to continue with fewer characters than the minimum shows **Your answer is too short.** Spaces at the start and end do not count toward the minimum. An optional question left empty is not held to it.
* **Your answer is too long.** appears if the answer is over the maximum, for example when it came prefilled from the link.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-89cb0251f0f5ac6d423cb3016056bdbe5ded0bba%2Fforms-text-and-slider-fields-08-public-counter.png?alt=media" alt="The live form showing a Long text answer with the counter 32 / 500 · 50 minimum under the box"><figcaption><p>The counter follows the form's theme and language.</p></figcaption></figure>

The maximum is also checked when the form is submitted. An answer that is too long is refused with **One of your answers is longer than this form allows. Shorten it and try again.**

***

## Website

**Website** collects a web address and checks that it looks like one before the respondent can continue. Like Short text, it accepts a **Placeholder** in **Question settings**; leave it empty for none, or set something like `acme.com` to show the shape you expect.

What respondents experience:

* They can type a bare domain such as `acme.com` or `www.acme.com`, or a full address such as `https://acme.com/pricing`. Anything with a domain and a valid ending (`.com`, `.io`, `.co`, and so on) is accepted.
* When they leave the field, dForms adds `https://` automatically if it was missing. `acme.com` becomes `https://acme.com`, and that is the value stored in the submission and sent to integrations.
* If the text is not a valid address (for example `acme` with no ending, or an `ftp://` link), the form shows **Enter a valid website address.** and stays on the question.

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-671b4575e8c483cacb2e7307653300891a90345f%2Fforms-text-and-slider-fields-03-website-validation.png?alt=media" alt="The live form showing a Website question with the text acme typed in and the error Enter a valid website address."><figcaption><p>An incomplete address is refused. The respondent fixes it and continues.</p></figcaption></figure>

Website questions offer the same settings as Short text (**Required**, **Placeholder**, **Default answer**, **Field key**, **Hidden question**) and cannot award points.

***

## Slider

**Slider** asks for a number on a scale. Respondents drag a handle (or use the keyboard) and see the current value in a large pill above the track, with the minimum and maximum printed at the ends.

**Step 3:** Select the slider question. In **Question settings**, under **Slider**, set the four values:

| Setting     | Default | What it does                                                                                              |
| ----------- | ------- | --------------------------------------------------------------------------------------------------------- |
| **Min**     | 0       | The lowest value the handle can reach.                                                                    |
| **Max**     | 100     | The highest value the handle can reach.                                                                   |
| **Step**    | 1       | How much the value moves per notch. Use 10 for 0, 10, 20…; use 5 for 0, 5, 10…                            |
| **Default** | 50      | Where the handle starts. If the respondent never touches the slider, this is the value that is submitted. |

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-024f65f66f426f420e19b1e0991f5fc1f7e3a278%2Fforms-text-and-slider-fields-04-slider-settings.png?alt=media" alt="A Slider question on the canvas with the Slider section highlighted in Question settings: Min 0, Max 500, Step 10, Default 50"><figcaption><p>The canvas previews the scale as you edit <strong>Min</strong>, <strong>Max</strong>, <strong>Step</strong> and <strong>Default</strong>.</p></figcaption></figure>

The editor warns you inline when the four values do not make sense together. Fix the value and the warning disappears:

| Warning                                                                                 | When it appears                                                                              |
| --------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
| **Default sits outside 0-500. Respondents will see 500 instead.**                       | **Default** is below **Min** or above **Max**. The live form clamps it to the nearest bound. |
| **Max is below Min. The slider has nothing to move along.**                             | **Max** is smaller than **Min**.                                                             |
| **Min and Max are the same, so the handle cannot move. Respondents can only answer 0.** | **Min** equals **Max**.                                                                      |
| **Step must be greater than 0. Browsers ignore anything else and move in steps of 1.**  | **Step** is 0 or negative.                                                                   |

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-b795c7fe21dbb684b8029842171f6373431588bc%2Fforms-text-and-slider-fields-05-slider-warning.png?alt=media" alt="The Slider settings with Default set to 600 and the warning Default sits outside 0-500. Respondents will see 500 instead."><figcaption><p>A default outside the range triggers a warning right under the fields.</p></figcaption></figure>

**Unit label.** To print a unit next to the number (for example `leads / month`), open **Advanced settings**, turn on **Vary the question by a field** under **Dynamic question** and fill in **Slider unit label** for each variant. The label is part of the dynamic question feature, so it can change with an earlier answer. See [Dynamic questions (variants)](/dforms/builder/dynamic-questions.md).

<figure><img src="https://3835013762-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCy5rSNtQmtqYCGzJlNEB%2Fuploads%2Fgit-blob-94f06ca8e90930b83b2083976c41a9081fabd889%2Fforms-text-and-slider-fields-06-public-slider.png?alt=media" alt="The live form showing a slider with the value 50 and the unit label leads / month in the pill above the track"><figcaption><p>What respondents see: the value pill with its unit label, the track and the 0 and 500 ends.</p></figcaption></figure>

More about sliders:

* **Scoring.** A slider can award points by range (for example 0 to 49 gives 0 points, 50 and up gives 10). Set the ranges in **Logic** > **Scoring**. See [Scoring](/dforms/logic/scoring.md).
* **Logic.** Show, hide and branching rules on a slider use **Equal to**, **Greater than**, **Less than** and **Between**. See [Show & hide conditions](/dforms/logic/conditions.md).
* **Prefill.** The **Prefill from URL** block in **Advanced settings** shows a ready-made example such as `?leads=5`. A value in the URL replaces the **Default**.

***

## What's next

* [Question settings](/dforms/builder/question-settings.md): Required, Placeholder, Default answer, Field key, Hidden question and Ends the form, explained in one place.
* [Dynamic questions (variants)](/dforms/builder/dynamic-questions.md): change the question title (and the slider unit label) based on an earlier answer.
* [Contact fields: Name, Email, Phone](/dforms/builder/question-types/contact-fields.md) and [Choice fields: Single, Multiple, Dropdown](/dforms/builder/question-types/choice-fields.md): the other question types.
* [Scoring](/dforms/logic/scoring.md): award points from slider ranges.
* [Hidden fields & URL prefill](/dforms/builder/hidden-fields-and-url-prefill.md): prefill any of these fields from the link.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.dapta.ai/dforms/builder/question-types/text-and-slider-fields.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
