Input field
The do-everything input field. Its input type decides what it becomes: plain text, number, date, time, multi-line text area or rich text editor. It is therefore the most frequently used block on a form, and the one whose settings are worth reading in full at least once.
What it is
| Type | fieldText |
| Category | form |
| Children allowed | 0 |
| Styling targets | bspk, input, label |
| Events | onChange, onInput |
The settings
Only the settings specific to this block are listed here. The block name, HTML id, anchor, conditional display and repetition are shared by every block and described once, under Shared settings.
Parameters
| Setting | How it is set | What it does | Specifics |
|---|---|---|---|
4D code for the field namevb_Use4dCode | toggle (boolean) | The field name is a 4D expression evaluated at render time: its result becomes the field name sent with the form | default: no |
Field typevl_InputType | select (integer) | — | default: 0 |
Field namevt_FieldName | text (text) | — | required |
Label & texts
| Setting | How it is set | What it does | Specifics |
|---|---|---|---|
4D code for labelvb_Use4dCodeForLabel | toggle (boolean) | — | default: no |
Label positionvl_LabelPosition | checkbox (integer) | — | default: 0 |
Explanatory textvt_ExplanatoryText | text (text) | Shows a « ? » icon next to the field label; this text appears as a tooltip on hover (like this one) | translatable |
Field labelvt_FieldLabel | text (text) | — | translatable |
Indicative textvt_FieldPlaceholder | text (text) | Grayed text displayed INSIDE the field, which disappears as soon as you start typing (HTML placeholder) | translatable |
Input & behavior
| Setting | How it is set | What it does | Specifics |
|---|---|---|---|
Accept empty valuevb_AcceptEmptyValue | toggle (boolean) | — | default: no |
Multilingualvb_MultiLang | toggle (boolean) | — | default: no |
Remove autocompletevb_RemoveAutocomplete | toggle (boolean) | — | default: no |
Resizablevb_Resize | toggle (boolean) | — | default: no |
Rich text editorvb_RichText | toggle (boolean) | Replaces the text area with the dev-panel rich text editor (bold, headings, lists, links…). The content is sent as base64-encoded HTML in the field — decode it in 4D. For a different editor, leave unchecked and set it up via custom.js | default: no |
Text colorvb_RichTextColors | toggle (boolean) | Adds a text color picker to the toolbar. When unchecked the editor knows no color: colored text pasted into the field loses its color | default: no |
Highlightvb_RichTextHighlight | toggle (boolean) | Adds highlighting (text background color) to the toolbar. When unchecked, a highlight pasted into the field is removed | default: no |
Show-password togglevb_ToggleShowPassword | toggle (boolean) | — | default: no |
Use 4D for defaultvb_Use4DForDefaultValue | toggle (boolean) | — | default: no |
Is linked to the module entity?vb_isLinkedToModuleEntity | toggle (boolean) | Links the field to the page module entity (record): the value is pre-filled from the entity and sent back with the form to update it. Only works on a module page with a loaded entity | default: no |
Step: Max numbervl_InputNumericMax | number (integer) | — | |
Step: Min numbervl_InputNumericMin | number (integer) | — | |
Increment stepvl_InputNumericStep | number (integer) | — | |
Number of rowsvl_Rows | number (integer) | — | |
Relationship pathvt_HowGetPk | text (text) | Optional 4D expression returning the entity to link (e.g. ds.CLIENT.get(...)). Leave empty = current entity of the module page | |
Text color pickervt_RichTextColorMode | select (text) | — | default: palette |
Text color palettevt_RichTextColorPalette | colorList (text) | Colors offered in the toolbar, in the displayed order (drag and drop to change it). No color chosen: default palette. In « Color palette » mode, only these colors are accepted, pasted text included | |
Highlight color pickervt_RichTextHighlightMode | select (text) | — | default: palette |
Highlight palettevt_RichTextHighlightPalette | colorList (text) | Colors offered in the toolbar, in the displayed order (drag and drop to change it). No color chosen: default palette. In « Color palette » mode, only these colors are accepted, pasted text included | |
Default valuevt_Value | text (text) | — | |
Path in objectvt_pathInObject | text (text) | For a field linked to an entity: path of the OBJECT attribute where the value is read/written. The value becomes Entity.path.fieldName (e.g. field name = phone, path = contact → Entity.contact.phone). Leave empty if the field maps directly to an entity attribute |
Validation
| Setting | How it is set | What it does | Specifics |
|---|---|---|---|
Required fieldvb_Required | toggle (boolean) | — | security check, default: no |
Maximum lengthvl_MaxLength | number (integer) | Maximum number of characters typed (maxlength attribute), also checked on save. Match it to the size of the Alpha field that receives the value: 4D silently cuts what exceeds it. Empty or 0 = no limit. No effect on the rich text editor | security check |
Validation (regex)vt_PregMatch | select (text) | — | open list |
Required-if queryvt_QueryRequired | text (text) | 4D expression evaluated at render time: if it returns True, the field becomes required (conditional requirement). E.g.: WebUser.role = « admin ». Leave empty = always required |
Traps
4D silently cuts a value that is too long for an Alpha field. If the table field that receives the input is a 62-character Alpha, a 70-character address is saved without its last 8 characters, with no message on screen or in the logs. Set the input field's maximum length to the size of the Alpha field (shown in the structure editor): the browser stops typing beyond it, and saving refuses a longer value sent any other way. A Text field has no limit. The maximum length has no effect on the rich text editor.
The tables on this page are produced automatically from the block's schema. If this page and the panel disagree, the schema is right.

