Skip to main content

Overview

Form view transforms your NocoDB table into a beautiful, shareable form for data collection. It’s perfect for surveys, feedback collection, registration forms, and any scenario where you need external users to submit data without accessing your full database.
Form views create a unique shareable URL that allows anyone to submit data to your table without needing a NocoDB account.

When to Use Form View

Form view is ideal for:
  • Surveys and questionnaires - Collect responses from customers or team members
  • Contact forms - Capture leads and inquiries from your website
  • Registration forms - Sign-ups for events, programs, or services
  • Feedback collection - Gather user feedback or bug reports
  • Job applications - Collect resumes and applicant information
  • Order forms - Accept product orders or service requests
  • Data submission - Allow external contributors to add records

Configuration Options

Form view offers extensive customization options:

Branding and Appearance

PropertyTypeDescription
headingstringMain form title displayed at the top
subheadingstringSubtitle or description below the heading
logo_urlobjectLogo image displayed in the form header
banner_image_urlobjectBanner image shown above the form
Simple form with title and description:
{
  "heading": "Contact Us",
  "subheading": "We'd love to hear from you. Fill out the form below."
}

Success Behavior

Control what happens after form submission:
PropertyTypeDescription
success_msgstringCustom message shown after successful submission
redirect_urlstringURL to redirect to after submission
redirect_after_secsstringDelay in seconds before redirect (e.g., “3”)
submit_another_formbooleanShow “Submit Another” button after submission
show_blank_formbooleanReset form after submission for another entry
Show a custom message and allow another submission:
{
  "success_msg": "Thank you for your submission! We'll be in touch soon.",
  "submit_another_form": true,
  "show_blank_form": true
}

Email Notifications

PropertyTypeDescription
emailstringEmail address(es) to notify on form submission
{
  "email": "[email protected],[email protected]"
}
Use comma-separated email addresses to notify multiple recipients about form submissions.

Field Configuration

Each form field can be customized individually:
PropertyTypeDescription
labelstringCustom field label (overrides column title)
helpstringHelp text displayed below the field
descriptionstringDetailed description or instructions
requiredbooleanMake field mandatory for submission
showbooleanShow or hide field in the form
ordernumberField display order (top to bottom)
enable_scannerbooleanEnable QR/barcode scanner for the field
Field configurations are specific to each form view, allowing you to create multiple forms from the same table with different field requirements.

Working with Form View

Basic Setup

  1. Open your table and click “Create View”
  2. Select “Form View” from the view types
  3. Give your form a descriptive name
  4. Configure form appearance and behavior

Customize Fields

  1. Click “Fields” to open field configuration
  2. Toggle fields on/off to show/hide in the form
  3. Drag to reorder field appearance
  4. Click each field to customize:
    • Custom label
    • Help text
    • Required status
    • QR scanner (for text fields)

Add Branding

  1. Click “Form Settings”
  2. Add heading and subheading
  3. Upload logo (recommended: 200x50px)
  4. Upload banner image (recommended: 1200x300px)
  5. Configure success message and behavior

Advanced Features

QR/Barcode Scanner

Enable scanner functionality for specific fields:
{
  "enable_scanner": true
}
Use cases:
  • Product ID entry
  • Ticket validation
  • Asset tracking
  • Inventory management

Conditional Logic

While not directly in the form model, you can implement conditional behavior:
  • Use field descriptions to provide conditional guidance
  • Hide/show fields based on user journey
  • Create multiple forms for different scenarios

Pre-filled Forms

Create forms with pre-filled values via URL parameters:
https://app.nocodb.com/form/your-form-id?field1=value1&field2=value2
Use pre-filled forms for personalized surveys or to streamline data entry for known users.

Use Cases and Examples

Customer Feedback Form

{
  "heading": "We Value Your Feedback",
  "subheading": "Help us improve by sharing your experience",
  "success_msg": "Thank you! Your feedback helps us serve you better.",
  "submit_another_form": true,
  "email": "[email protected]"
}
Fields:
  • Name (required)
  • Email (required)
  • Rating (1-5 stars)
  • Comments (long text)
  • Would you recommend us? (checkbox)

Event Registration

{
  "heading": "Tech Summit 2024 Registration",
  "subheading": "Join us for three days of innovation and networking",
  "logo_url": {"url": "event-logo.png"},
  "success_msg": "You're registered! Check your email for confirmation.",
  "redirect_url": "https://summit.example.com/confirmed",
  "redirect_after_secs": "5",
  "email": "[email protected]"
}
Fields:
  • Full Name (required)
  • Email (required)
  • Company
  • Job Title
  • Dietary Restrictions
  • T-shirt Size
  • How did you hear about us?

Product Order Form

{
  "heading": "Custom Order Request",
  "subheading": "Fill out the details below and we'll prepare your quote",
  "success_msg": "Order received! We'll contact you within 24 hours.",
  "show_blank_form": true,
  "email": "[email protected],[email protected]"
}
Fields:
  • Customer Name (required)
  • Email (required)
  • Phone (required)
  • Product Type (single select)
  • Quantity (number)
  • Special Instructions (long text)
  • Preferred Delivery Date (date)

Best Practices

Keep Forms Short - Only ask for essential information. Long forms have higher abandonment rates.
Clear Labels and Help Text - Use descriptive labels and provide help text for fields that might be confusing.
Test Before Sharing - Submit test entries to ensure all fields work correctly and validation is appropriate.
Mobile-Friendly Design - Forms are automatically responsive, but test on mobile devices to ensure a smooth experience.
Use Required Fields Wisely - Mark only truly essential fields as required to avoid frustrating users.
Spam Prevention - Consider using CAPTCHA or other verification methods for public forms to prevent spam submissions.

Accessibility Features

Form view is built with accessibility in mind:
  • Keyboard navigation support
  • Screen reader compatible
  • ARIA labels on all form elements
  • High contrast mode support
  • Clear error messages and validation

API Reference

Create a form view programmatically:
const formView = {
  fk_view_id: 'view_id',
  heading: 'Contact Form',
  subheading: 'Get in touch with us',
  success_msg: 'Thank you for your message!',
  email: '[email protected]',
  submit_another_form: true,
  show_blank_form: true,
  meta: {}
}
Update form settings:
const updates = {
  heading: 'Updated Form Title',
  success_msg: 'New success message',
  redirect_url: 'https://example.com/thank-you',
  redirect_after_secs: '3'
}
Form view supports file attachments through the attachment field type, allowing users to upload files, images, or documents with their submission.