AddThisFeature

Conditional Form Fields

Show only the fields that matter based on what the user already answered.

moderate Forms & Input

What it adds

Form fields that appear, disappear, and become required depending on other answers, with the server agreeing about which branch is live.

What your agent is told to do

5
  1. 1

    Find the forms with fields that only apply in some cases and define, per field, the exact condition that shows it.

  2. 2

    Write down one explicit rule for hidden values: cleared, preserved, or ignored. Apply it consistently — silent submission of a value the user can no longer see is the classic bug here.

  3. 3

    Make 'required' conditional too. A hidden field must never block submission, and a revealed field must be validated.

  4. 4

    Mirror the same branch logic on the server. The client decides what to show; the server decides what is valid.

  5. 5

    Do NOT use display:none alone to hide a field. A visually hidden input is still focusable, still submitted, and still read by screen readers — remove it or disable it properly.

Edge cases it handles

6
  • Editing an existing record must reopen the branch that record was saved with, including nested conditions.
  • Revealed fields must be announced to assistive technology without yanking focus away from the control the user just used.
  • A chain of conditions must collapse cleanly — hiding a parent must hide and resolve everything under it.
  • Layout must not jump when a field appears; reserve space or animate the height.
  • A server validation error on a hidden field must reopen the branch containing it rather than showing an error nobody can find.
  • Autosave and draft restore must record which branch was active, not just the field values.

Definition of done

8
  • Each conditional field has a stated rule for what happens to its value when hidden.
  • Hidden fields are never submitted, never required, and never focusable.
  • The server applies the same branch logic as the client.
  • Editing an existing record restores the correct branch.
  • Newly revealed fields are announced and do not steal focus.
  • Errors on fields inside a collapsed branch reveal that branch.
  • The feature matches the existing design system.
  • No existing functionality is broken.

Related features

How it works

  1. 1

    Copy the link

    Grab the Markdown instruction URL for this feature.

  2. 2

    Give it to your AI

    Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.

  3. 3

    It inspects, then implements

    Your agent reads your existing app first, then adds the feature to fit it.

Works with your stack

These instructions are written to adapt. They tell the agent to detect your framework, match your existing design system, and reuse what you already have — rather than assuming a particular stack.

Need it tighter than that? Customize the feature and tell it exactly what you're running.