> ## Documentation Index
> Fetch the complete documentation index at: https://formhug.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Field Attributes

> Configure field settings and behavior

Every field in FormHug comes with flexible settings to help you design forms that are both powerful and easy to use.

Field attributes are especially useful when adapting <a href="https://formhug.ai/templates" target="_blank">templates</a> to your workflow, adding tracking values, preventing duplicate registrations, configuring payment forms, or building scored quizzes and assessments.

## General Settings

Available across most field types:

| Setting             | Description                                  |
| ------------------- | -------------------------------------------- |
| **Title**           | The question or label shown to submitters    |
| **Description**     | Helper text below the title                  |
| **Default Value**   | Pre-filled value                             |
| **Placeholder**     | Example text inside the field                |
| **Required**        | Must be filled to submit                     |
| **No Duplicates**   | Prevent duplicate entries across submissions |
| **Hidden Field**    | Collect data without showing the field       |
| **Auto-fill**       | Pre-fill with last submission data           |
| **Field Numbering** | Show question numbers                        |

## Layout Options

Control how fields appear in your form:

| Option         | Description                       |
| -------------- | --------------------------------- |
| **Full Width** | Field spans the entire form width |
| **Half Width** | Two fields side by side           |
| **Inline**     | Multiple fields on one line       |

## Text Field Settings

Additional settings for text-based fields:

| Setting               | Description                 |
| --------------------- | --------------------------- |
| **Allowlist**         | Only accept specific values |
| **Blocklist**         | Reject specific values      |
| **Format Validation** | Custom regex pattern        |
| **Character Limit**   | Min/max characters          |

## Choice Field Settings

Additional settings for choice-based fields:

| Setting             | Description                                        |
| ------------------- | -------------------------------------------------- |
| **Option Quota**    | Limit selections per option across all submissions |
| **Option Value**    | Assign numeric values for scoring/formulas         |
| **Randomize Order** | Shuffle options for each submitter                 |
| **Allow Other**     | Let submitters enter custom options                |

## Payment Field Settings

Settings for payment-related fields:

| Setting            | Description                                                                      |
| ------------------ | -------------------------------------------------------------------------------- |
| **Price**          | Set fixed amounts, product prices, or option-combination prices                  |
| **Currency**       | Choose the currency for totals and Stripe checkout                               |
| **Stripe account** | Select the connected payment account when collecting online payments             |
| **Variants**       | Configure sizes, rooms, ticket tiers, attendance options, and other paid choices |
| **Quantity**       | Set default, minimum, and maximum quantities                                     |
| **Stock**          | Limit inventory for products, tickets, or packages                               |
| **Discounts**      | Apply early-bird or bulk discounts by percentage or fixed amount                 |

## Booking Field Settings

Settings for appointment scheduling:

| Setting             | Description                  |
| ------------------- | ---------------------------- |
| **Bookable Items**  | Define services or resources |
| **Available Dates** | Set which dates are bookable |
| **Time Slots**      | Define available time slots  |
| **Duration**        | Set appointment length       |
| **Buffer Time**     | Gap between appointments     |
| **Capacity**        | Max bookings per slot        |

## Using Hidden Fields

Hidden fields collect data without showing the field to submitters.

**Common uses:**

* Tracking source (e.g., which ad campaign)
* Pre-filling user IDs
* Passing data between systems

**How to use:**

1. Add any field to your form
2. Toggle **Hidden** in field settings
3. Set a default value or use URL parameters

## Using No Duplicates

Prevent the same value from being submitted twice.

**Example:** Prevent duplicate email registrations.

**How it works:**

1. Enable **No Duplicates** on a field
2. If a submitter enters a value that already exists, they see an error
3. They must enter a unique value to submit

## Related

<CardGroup cols={2}>
  <Card title="Basic Settings" icon="gear" href="/features/settings/basic-settings">
    Configure form-level settings like title, language, and submit button.
  </Card>

  <Card title="Submission Rules" icon="shield" href="/features/settings/submission-rules">
    Control who can submit and how many times.
  </Card>

  <Card title="Create a Payment Form" icon="credit-card" href="/guides/use-cases/payment-form">
    See how payment settings work for donations, products, tickets, and deposits
  </Card>

  <Card title="Payment Fields" icon="credit-card" href="/features/building/fields/payment-fields">
    Compare Price-Only, Product, Text Product, and Text Option fields
  </Card>

  <Card title="Registration Form Guide" icon="clipboard-list" href="/guides/use-cases/registration-form">
    Use No Duplicates, required fields, and limits for sign-up workflows
  </Card>

  <Card title="Tracking & Pre-fill" icon="chart-line" href="/features/settings/tracking-prefill">
    Use hidden fields and defaults for source tracking and personalized links
  </Card>
</CardGroup>
