Text Fields
Six field types store textual content, from short labels to formatted rich text and validated strings. All share the base field properties.
| Type | Stores |
|---|---|
single-line-text |
Short, single-line text (names, titles, labels). |
long-text |
Multi-line plain text (descriptions, notes, comments). |
rich-text |
Formatted HTML rendered with a WYSIWYG editor. |
email |
Email address validated against RFC 5322. |
url |
Web address validated as an absolute URL. |
phone-number |
Phone number stored as text; preserves international formatting. |
single-line-text
Short text limited to a single line. Stored as-is without formatting.
| Property | Description |
|---|---|
default |
Default string assigned to new records. |
- { id: 1, name: title, type: single-line-text, required: true, indexed: true, default: Untitled }
long-text
Multi-line plain text. Supports line breaks; no rich formatting (no bold/italics).
| Property | Description |
|---|---|
default |
Default string assigned to new records. |
- { id: 2, name: description, type: long-text, default: 'Enter description here...' }
rich-text
Formatted text with bold, italic, links, lists, headings, and more. Rendered with a Tiptap WYSIWYG editor and stored as HTML.
| Property | Description |
|---|---|
maxLength |
Maximum length in characters (integer ≥ 1). Validates on input. |
fullTextSearch |
Boolean. Enables full-text-search indexing for this field. |
toolbar |
Array of allowed toolbar actions (e.g. bold, italic, link, heading, list, image, code-block, table). When omitted, all actions are available. |
placeholder |
Placeholder text shown when the editor is empty. |
collaborative |
Boolean. Enables real-time collaborative editing (Yjs). |
- id: 3
name: article_content
type: rich-text
required: true
maxLength: 10000
toolbar: [bold, italic, link, heading, list]
placeholder: 'Write your article...'
email
Text field that validates email addresses (RFC 5322). Commonly unique: true and indexed: true for authentication and lookups.
| Property | Description |
|---|---|
default |
Default email address assigned to new records. |
- { id: 4, name: email, type: email, required: true, unique: true, indexed: true }
url
Text field that validates web addresses. Supports multiple protocols (http://, https://, ftp://, …).
| Property | Description |
|---|---|
default |
Default URL assigned to new records. |
- { id: 5, name: website, type: url, indexed: true, default: 'https://example.com' }
phone-number
Text field for phone numbers. Numbers are stored exactly as entered (spaces, dashes, parentheses preserved); no automatic formatting is applied, allowing any international format.
| Property | Description |
|---|---|
default |
Default phone number assigned to new records. |
- { id: 6, name: mobile_phone, type: phone-number, unique: true, default: '+1 (555) 000-0000' }
Full-text search & relevance. Set indexed: true plus searchWeight (A–D) on text fields whose data source uses full-text search, to control relevance ranking. rich-text also exposes fullTextSearch to opt that column into the search index.