Visual Form Builder

A powerful drag-and-drop form designer with 25 field types across 5 categories, multi-locale support, conditional logic, field validation, responsive width controls, form settings, template gallery, live preview, and embed code generation. Build complex forms without writing any code.

Last updated 05/11/2026, 04:55 PM

No-Code Form Design Studio

The Form Builder is a full-featured visual designer powered by dnd-kit for drag-and-drop interactions. The interface is divided into three panels: the Field Palette (left) containing all available field types organized by category, the Canvas (center) where you arrange and configure your form fields, and the Properties Panel (right) for editing the selected field's details including labels, validation, conditional logic, and width settings. All content supports multi-locale translations — configure every label, placeholder, and error message in both English and Turkish (or any configured locale).

Field Types (25 Total)

📝 Input Fields (11 types)

Field TypeIconDescriptionValidation Options
TextTypeSingle-line text inputminLength, maxLength, pattern (regex)
TextareaAlignLeftMulti-line text areaminLength, maxLength
Rich TextFileTextWYSIWYG rich text editorminLength, maxLength
EmailMailEmail address input with format validationpattern (auto email regex)
PhonePhonePhone number inputpattern
NumberHashNumeric inputmin, max
CurrencyDollarSignMonetary amount inputmin, max
URLLinkWeb address input with URL validationpattern
DateCalendarDate pickermin date, max date
TimeClockTime pickermin time, max time
DateTimeCalendarClockCombined date and time pickermin, max

☑️ Selection Fields (4 types)

Field TypeIconDescriptionHas Options
SelectChevronDownSingle-select dropdown✅ Yes — configurable option list with multi-locale labels
Multi-SelectListChecksMulti-select dropdown✅ Yes
CheckboxCheckSquareCheckbox group✅ Yes
RadioCircleDotRadio button group✅ Yes

📎 Media Fields (2 types)

Field TypeIconDescriptionValidation Options
File UploadPaperclipGeneral file attachmentfileTypes, maxFileSize, maxFiles
Image UploadImageImage-specific upload with previewfileTypes, maxFileSize, maxFiles

🔧 Advanced Fields (4 types)

Field TypeIconDescription
RatingStarStar rating selector (1–5)
SignaturePenLineDigital signature pad for e-signatures
AddressMapPinStructured address fields (street, city, state, zip, country)
HiddenEyeOffInvisible field for tracking (e.g., UTM params, referral source)

📐 Layout Elements (4 types)

TypeIconDescription
HeadingHeadingSection title for organizing form sections
ParagraphAlignJustifyInformational text block (instructions, disclaimers)
DividerMinusVisual horizontal separator line
Layout ImageImageIconDecorative image element within the form

🖱️ Drag-and-Drop Canvas

Drag field types from the Field Palette on the left directly onto the Canvas. Fields can be reordered by dragging within the canvas. Each field shows its label, type icon, and a quick preview of its configuration. Select any field to open its Properties Panel on the right for detailed editing.

📏 Responsive Width Control

Each field supports four width options: Full (100%), Two-Thirds (66%), Half (50%), and Third (33%). This enables flexible multi-column layouts — for example, place "First Name" and "Last Name" side by side at half width, followed by a full-width "Email" field.

🔀 Conditional Logic

Make fields show or hide dynamically based on other field values. Each field supports a Conditional Logic configuration with: Action (Show or Hide), Logic Type (All conditions or Any condition), and multiple Rules. Each rule references another field's key and applies an operator: equals, notEquals, contains, notContains, greaterThan, lessThan, isEmpty, isNotEmpty.

🌐 Multi-Locale Translations

Every text element in the form supports multiple languages. For each field, configure Label, Placeholder, Description, and Error Message in every configured locale. The form automatically displays the correct language based on the user's locale setting. Option values for select/checkbox/radio fields also support per-locale labels.

📋 Form Templates

Start from scratch or use the Template Selector to begin with a pre-built template. Templates provide common form structures (contact form, survey, registration, etc.) with fields already configured. You can customize any template after selection.

⚙️ Form Settings

The Settings Panel controls form-level behavior: Require Authentication (users must log in), Allow Anonymous submissions, Enable CAPTCHA for bot protection, Submit Limit (max submissions per user), Redirect URL (post-submit navigation), Closed Message (displayed when form is closed), and Notification Emails (receive alerts for new submissions).

Form Settings Reference

SettingTypeDefaultDescription
Require AuthToggleOffWhen enabled, only logged-in users can submit the form
Allow AnonymousToggleOnAllow submissions without user identification
CAPTCHAToggleOffAdd CAPTCHA verification to prevent automated submissions
Submit LimitNumberMaximum number of submissions allowed per user
Redirect URLURLURL to redirect users after successful submission
Closed MessageTextMessage displayed when the form is in "Closed" status
Notify EmailsEmail List[]Email addresses that receive a notification for each new submission

Step-by-Step: Building a Contact Form

  1. Create a new form from the forms list page.
  2. Open the form builder at /admin/forms/{id}/builder.
  3. Add Heading: Drag a "Heading" layout element and set the label to "Contact Us".
  4. Add Name Fields: Drag two "Text" fields. Set them both to "Half" width. Label them "First Name" and "Last Name". Mark both as required.
  5. Add Email: Drag an "Email" field at full width. Mark as required.
  6. Add Phone: Drag a "Phone" field at half width (optional).
  7. Add Subject: Drag a "Select" field. Add options: "General Inquiry", "Sales", "Support", "Partnership".
  8. Add Conditional Field: Drag a "Text" field labeled "Company Name". Set conditional logic: Show when "Subject" equals "Partnership".
  9. Add Message: Drag a "Textarea" field at full width. Set minLength to 20 characters.
  10. Configure Settings: Enable CAPTCHA, set notification email to support@company.com.
  11. Add Translations: Switch to Turkish locale tab and add TR labels for every field.
  12. Preview: Click the preview button to test the form experience.
  13. Save & Embed: Save the form, then generate the embed code for your website.

Enterprise Use Case: Multi-Step Event Registration

A global tech conference needs a registration form supporting 3 languages (EN, TR, DE). The marketing team opens the Form Builder. They start with the "Event Registration" template, then customize: add a Heading for each section ("Attendee Info", "Session Preferences", "Dietary Requirements"), use conditional logic so "Dietary Details" only appears when "Special Dietary Needs" checkbox is checked, add an Address field for badge shipping, include a Signature field for the terms acceptance, and set a Hidden field with the UTM campaign code. Each text element is translated into all 3 languages. The form is set to Require Authentication so they can track which registered users signed up, with a Submit Limit of 1 to prevent duplicates. The Redirect URL points to the confirmation page. Upon launch, the form collects 2,400 registrations across all three languages — with conditional logic ensuring the form adapts to each attendee's unique needs.

Was this article helpful?

Still need help?

Our support team is ready to help you. Reach out and we'll get back to you shortly.

Comments

Leave a comment