GroupField
Defined in: packages/core/src/fields/group/types.ts:119
Resolved configuration for a group() field, after all defaults are applied.
This is the type field input components and validator functions receive.
interfaceType is a computed TypeScript object-type string built from the
sub-fields (e.g. "{ title: string; description?: string }"), used by
generateVexTypes to emit accurately-typed document interfaces.
- GroupFieldInput for the user-facing input type
- group for the config function that produces this type
Extends
Section titled “Extends”BaseField<TCollectionSlug,TFieldMeta>
Type Parameters
Section titled “Type Parameters”TCollectionSlug
Section titled “TCollectionSlug”TCollectionSlug extends VexResourceSlug = VexResourceSlug
TFieldMeta
Section titled “TFieldMeta”TFieldMeta extends object = { }
Properties
Section titled “Properties”admin:
GroupFieldAdminConfig<TCollectionSlug>
Defined in: packages/core/src/fields/group/types.ts:129
Resolved admin UI configuration with all defaults applied.
Overrides
Section titled “Overrides”defaultValue
Section titled “defaultValue”defaultValue:
Record<string,unknown>
Defined in: packages/core/src/fields/group/types.ts:146
Pre-filled value shown when creating a new document.
Overrides
Section titled “Overrides”description?
Section titled “description?”
optionaldescription?:string
Defined in: packages/core/src/fields/baseTypes.ts:585
Semantic description of the field. Used in three places:
- Helper text rendered below the field input in the admin form UI.
- As the Zod
.meta({ description })value for form validation. - As the JSDoc comment on the generated document interface property.
To write a separate JSDoc comment, use interfaceDescription in addition.
Inherited from
Section titled “Inherited from”fields
Section titled “fields”fields:
Record<string,AdminField>
Defined in: packages/core/src/fields/group/types.ts:136
Sub-fields that form the object’s shape.
Each sub-field retains its own required, label, and admin settings.
Convex and Zod validators are generated per-field respecting those settings.
index?
Section titled “index?”
optionalindex?:ResolvedFieldIndexConfigInput
Defined in: packages/core/src/fields/baseTypes.ts:589
Convex index name for this field, or the object form for a compound index.
Inherited from
Section titled “Inherited from”interfaceDescription?
Section titled “interfaceDescription?”
optionalinterfaceDescription?:string
Defined in: packages/core/src/fields/baseTypes.ts:587
The JSDoc comment on the generated document interface property
Inherited from
Section titled “Inherited from”BaseField.interfaceDescription
interfaceName?
Section titled “interfaceName?”
optionalinterfaceName?:string
Defined in: packages/core/src/fields/group/types.ts:144
interfaceType
Section titled “interfaceType”interfaceType:
string
Defined in: packages/core/src/fields/group/types.ts:143
Computed TypeScript object-type string for generateVexTypes.
Built from sub-fields in group() — e.g. "{ title: string; description?: string }".
Automatically reflects nested groups or arrays within the sub-fields.
Overrides
Section titled “Overrides”label:
string
Defined in: packages/core/src/fields/group/types.ts:125
Display label shown in the admin form. Always set — inferred from field key if not provided.
Overrides
Section titled “Overrides”meta:
TFieldMeta
Defined in: packages/core/src/fields/baseTypes.ts:592
Inherited from
Section titled “Inherited from”required
Section titled “required”required:
boolean
Defined in: packages/core/src/fields/group/types.ts:127
Whether this field is required in the database schema.
Overrides
Section titled “Overrides”
readonlytype:"group"
Defined in: packages/core/src/fields/group/types.ts:123
Methods
Section titled “Methods”validate()?
Section titled “validate()?”
optionalvalidate(props):void|Promise<void>
Defined in: packages/core/src/fields/group/types.ts:148
Server-only async validation with value typed as Record<string, unknown>.
Parameters
Section titled “Parameters”FieldValidateProps<TCollectionSlug, Record<string, unknown>>
Returns
Section titled “Returns”void | Promise<void>
Overrides
Section titled “Overrides”BaseField.validate