Skip to content

BaseField

Defined in: packages/core/src/fields/baseTypes.ts:562

Resolved base field definition, after defaults are applied by the field config function.

Properties with defaults are always present. Properties that are meaningless when absent (description, index, searchIndex) remain optional.

BaseFieldInput for the user-facing input type

TCollectionSlug extends VexResourceSlug = VexResourceSlug

TFieldMeta extends object = { }

admin: FieldAdminConfig<TCollectionSlug>

Defined in: packages/core/src/fields/baseTypes.ts:576

Resolved admin UI configuration with all defaults applied.


optional defaultValue?: unknown

Defined in: packages/core/src/fields/baseTypes.ts:574

Pre-filled value shown in the admin form when creating a new field. Does not apply to database values


optional description?: string

Defined in: packages/core/src/fields/baseTypes.ts:585

Semantic description of the field. Used in three places:

  1. Helper text rendered below the field input in the admin form UI.
  2. As the Zod .meta({ description }) value for form validation.
  3. As the JSDoc comment on the generated document interface property.

To write a separate JSDoc comment, use interfaceDescription in addition.


optional index?: ResolvedFieldIndexConfigInput

Defined in: packages/core/src/fields/baseTypes.ts:589

Convex index name for this field, or the object form for a compound index.


optional interfaceDescription?: string

Defined in: packages/core/src/fields/baseTypes.ts:587

The JSDoc comment on the generated document interface property


interfaceType: string

Defined in: packages/core/src/fields/baseTypes.ts:591

TypeScript type string written to generated document interfaces (e.g. "string", "number", "string[]").


label: string

Defined in: packages/core/src/fields/baseTypes.ts:567

Display label shown in the admin form. Always set — inferred from the field key if not provided.


meta: TFieldMeta

Defined in: packages/core/src/fields/baseTypes.ts:592


required: boolean

Defined in: packages/core/src/fields/baseTypes.ts:569

Whether this field is required in the database schema.

optional validate(props): void | Promise<void>

Defined in: packages/core/src/fields/baseTypes.ts:597

Server-only async validation, run after the generated Zod schema passes.

FieldValidateProps<TCollectionSlug>

void | Promise<void>

FieldValidate