number
number<
TCollectionSlug,TFieldKey,TFieldMeta>(options?):NumberField<TCollectionSlug,TFieldMeta>
Defined in: packages/core/src/fields/number/config.ts:52
Creates a number field with all defaults applied.
Number fields store numeric values. Common uses: prices, quantities, ratings, ages, counts.
Accepts NumberFieldInput (all optional) and returns NumberField with all defaults applied.
Defaults applied:
label—""(inferred from the field key bydefineCollection)required—falseadmin.hidden—falseadmin.readOnly—falseadmin.position—"main"admin.width—"100%"admin.cellAlignment—"left"admin.mask— not set (opt-in; no project-wide default applies unless configured)
Type Parameters
Section titled “Type Parameters”TCollectionSlug
Section titled “TCollectionSlug”TCollectionSlug extends string = string
TFieldKey
Section titled “TFieldKey”TFieldKey extends string = never
TFieldMeta
Section titled “TFieldMeta”TFieldMeta extends object = { }
Parameters
Section titled “Parameters”options?
Section titled “options?”NumberFieldInput<TCollectionSlug, TFieldKey, TFieldMeta>
Number field configuration. All properties are optional.
Returns
Section titled “Returns”NumberField<TCollectionSlug, TFieldMeta>
Resolved number field definition with all defaults applied.
Example
Section titled “Example”import { number, defineCollection } from '@vexcms/core'
products: defineCollection({ fields: { // Minimal — label inferred from key ("Price") price: number(),
// Required quantity with a minimum of 1 and a database index quantity: number({ required: true, min: 1, index: "by_quantity" }),
// Rating capped between 0 and 5 rating: number({ min: [0, "Rating cannot be negative"], max: [5, "Rating cannot exceed 5"], admin: { width: "50%" }, }), }})- NumberFieldInput for the full input type
- NumberField for the resolved output type