JsonField
Defined in: packages/core/src/fields/json/types.ts:66
Resolved configuration for a json() field, after all defaults are applied.
This is the type that framework adapters and field components receive —
fieldDef in FieldComponentProps<JsonField> and CellComponentProps<JsonField>
is this type.
- JsonFieldInput for the user-facing input type
- json 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 BaseFieldMeta = BaseFieldMeta
Properties
Section titled “Properties”admin:
FieldAdminConfig<TCollectionSlug>
Defined in: packages/core/src/fields/baseTypes.ts:576
Resolved admin UI configuration with all defaults applied.
Inherited from
Section titled “Inherited from”defaultValue?
Section titled “defaultValue?”
optionaldefaultValue?:unknown
Defined in: packages/core/src/fields/json/types.ts:75
Pre-filled value shown in the admin form when creating a new field. Does not apply to database values.
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”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
interfaceType
Section titled “interfaceType”interfaceType:
string
Defined in: packages/core/src/fields/baseTypes.ts:591
TypeScript type string written to generated document interfaces (e.g. "string", "number", "string[]").
Inherited from
Section titled “Inherited from”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.
Inherited from
Section titled “Inherited from”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/baseTypes.ts:569
Whether this field is required in the database schema.
Inherited from
Section titled “Inherited from”
readonlytype:"json"
Defined in: packages/core/src/fields/json/types.ts:70
Methods
Section titled “Methods”validate()?
Section titled “validate()?”
optionalvalidate(props):void|Promise<void>
Defined in: packages/core/src/fields/json/types.ts:77
Server-only async validation with value typed as unknown.
Parameters
Section titled “Parameters”FieldValidateProps<TCollectionSlug, unknown>
Returns
Section titled “Returns”void | Promise<void>
Overrides
Section titled “Overrides”BaseField.validate